diff --git a/.gitignore b/.gitignore index 4f65656..9e6b0d8 100644 --- a/.gitignore +++ b/.gitignore @@ -1,5 +1,6 @@ node_modules secret.json +./secret.json .env coverage coverage.json diff --git a/addresses.txt b/addresses.txt index eee344c..d6debba 100644 --- a/addresses.txt +++ b/addresses.txt @@ -1,15 +1,17 @@ Goerli: -TGPassport deployed to: 0x05044C88AB66a058D523038039d64cd101b9D8c9 -Union deployed to: 0xef2DCEA186FA90FcD0c44C3caaE81E4586eE0685 -Sample erc20 deployed to: 0xFbC45497848cc7438c528015271d73B9d8712385 -test dao address: 0x9b393D071fa16458cb6CE3256F50eD1D2c776F7D owner address: 0x16d97A46030C5D3D705bca45439e48529997D8b2 +TGPassport deployed to: 0xC14f07F30aBB60F0A143fB99fCc6c1f1a8070567 +Union deployed to: 0xc86aa41302E8ae8baAaB2Ce8647568AA17f10b7E +bytes32 moderator: 0xcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157 +Murs account have moderator role: true +Sample ERC20 deployed to: 0xFbC45497848cc7438c528015271d73B9d8712385 +test dao address: 0x18f060e4E6A7ff6f432d45629085AeF5E6Cc5081 passport fee: BigNumber { value: "1000" } applierd user wallet : 0x16d97A46030C5D3D705bca45439e48529997D8b2 approved user wallet : 0x16d97A46030C5D3D705bca45439e48529997D8b2 -apllied dao address: 0x9b393D071fa16458cb6CE3256F50eD1D2c776F7D -approved dao address: 0x9b393D071fa16458cb6CE3256F50eD1D2c776F7D +apllied dao address: 0x18f060e4E6A7ff6f432d45629085AeF5E6Cc5081 +approved dao address: 0x18f060e4E6A7ff6f432d45629085AeF5E6Cc5081 diff --git a/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json b/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json new file mode 100644 index 0000000..80121f4 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/34250fecc113d2f2e1976d341dc85eaf.json" +} diff --git a/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json b/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json new file mode 100644 index 0000000..17181da --- /dev/null +++ b/artifacts/@openzeppelin/contracts/access/AccessControl.sol/AccessControl.json @@ -0,0 +1,215 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "AccessControl", + "sourceName": "@openzeppelin/contracts/access/AccessControl.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json b/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json new file mode 100644 index 0000000..80121f4 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.dbg.json @@ -0,0 +1,4 @@ +{ + "_format": "hh-sol-dbg-1", + "buildInfo": "../../../../build-info/34250fecc113d2f2e1976d341dc85eaf.json" +} diff --git a/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json b/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json new file mode 100644 index 0000000..0e26587 --- /dev/null +++ b/artifacts/@openzeppelin/contracts/access/IAccessControl.sol/IAccessControl.json @@ -0,0 +1,183 @@ +{ + "_format": "hh-sol-artifact-1", + "contractName": "IAccessControl", + "sourceName": "@openzeppelin/contracts/access/IAccessControl.sol", + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "bytecode": "0x", + "deployedBytecode": "0x", + "linkReferences": {}, + "deployedLinkReferences": {} +} diff --git a/artifacts/build-info/34250fecc113d2f2e1976d341dc85eaf.json b/artifacts/build-info/34250fecc113d2f2e1976d341dc85eaf.json new file mode 100644 index 0000000..5a38026 --- /dev/null +++ b/artifacts/build-info/34250fecc113d2f2e1976d341dc85eaf.json @@ -0,0 +1,198857 @@ +{ + "id": "34250fecc113d2f2e1976d341dc85eaf", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.4", + "solcLongVersion": "0.8.4+commit.c7e474f2", + "input": { + "language": "Solidity", + "sources": { + "contracts/Union.sol": { + "content": "//SPDX-License-Identifier: MIT\n\n\n// We can look at Governor.sol from OZ, but we need to simply implement off-chain voting by tg api, so we should look at snapshot mechanism\n\n\n\npragma solidity ^0.8.0;\n\nimport \"hardhat/console.sol\";\n\n// direct imports -- use it for compile contracts and webapp\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/utils/Counters.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\n\n// relative imports (for building ABI and go) -- use it for build\n/*\nimport \"../node_modules/@openzeppelin/contracts/access/Ownable.sol\";\nimport \"../node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\";\nimport \"../node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\";\nimport \"../node_modules/@openzeppelin/contracts/utils/Counters.sol\";\n*/\n\n\nimport \"./TGPassport.sol\";\n\ncontract Union is Ownable, AccessControl {\n\n using Counters for Counters.Counter;\n\n uint private _passportFee;\n address private _owner = owner();\n\n bytes4 private constant _INTERFACE_ID_IERC721ENUMERABLE = 0x780e9d63;\n\n bytes32 public constant moderator = keccak256(\"moderator\");\n \n\n // events\n event ApplicationForJoin(int64 chat_id, int64 applier_id,address multy_wallet_address,VotingType vote_type, address voting_token_address, string group_name);\n event ApplicationForJoinIndexed(int64 indexed chat_id, int64 applier_id,address multy_wallet_address,VotingType vote_type, address voting_token_address, string group_name);\n event ApprovedJoin(int chat_id,address multy_wallet_address,VotingType vote_type, address voting_token_address, string group_name);\n event DeclinedApplication(int chat_id,address multy_wallet_address,VotingType vote_type, address voting_token_address, string group_name);\n\n\n\n //\n enum VotingType {erc20, erc20Votes, erc721 }\n\n\n // Meta information about dao\n struct DAO {\n address chatOwnerAddress;\n int64 tgId;\n bool valid;\n address multisigAddress;\n VotingType votingType;\n address votingToken;\n string group_name;\n }\n\n\n\n // set passport contract address\n constructor(address passportContract_){\n _passportContract = passportContract_;\n tgpassport = TGPassport(passportContract_);\n console.logBytes32(moderator);\n grantRole(moderator,msg.sender);\n bool flag = hasRole(moderator,msg.sender);\n console.logBool(flag);\n\n }\n\n // TODO: import Multisig contract, make sure we map tgid to multisig contract, not address!\n mapping (int64 => address) public daoAddresses;\n\n int64[] public Chat_id_array;\n\n Counters.Counter dao_count;\n\n // mapping from multisig address to attached meta-info\n mapping(address => DAO) public daos;\n\n address private _passportContract;\n TGPassport public tgpassport;\n\n \n\n /** This function suggest applying for union for any dao\n * REQUIREMENTS:\n * 1.dao should have it's multisig address\n * 2.owner of multisig must be registred in Passport contract with it's personal tg_id\n * 3. this tg_id must be equal to tgid of appling chat admin.\n * Last check can be done only by oracle\n * @param applyerTg -- tgid of user who sent apply\n * @param daoTg -- tgid of chat\n * @param dao_ -- multisig address\n * @param votingType_ -- represents voting token's type: 0=erc20 1=erc20Snapshot 2=erc721\n * @param dao_name_ -- string name of group chat. can be uses as a link (if link is https://t.me/eth_ru then name is @eth_ru)\n */\n function ApplyForUnion (int64 applyerTg, int64 daoTg, address dao_, VotingType votingType_, address votingTokenContract_, string memory dao_name_) public payable {\n // TODO: add require for check if dao is a gnosis safe multisig! (check support interface?)\n // require(...)\n \n // add passport and owner check\n address daoOwner = tgpassport.GetPassportWalletByID(applyerTg);\n require(daoOwner == msg.sender,\"User did not registred in TGP\");\n\n require(daoAddresses[daoTg] == address(0x0), \"this chat tgid already taken\");\n daoAddresses[daoTg] = dao_; \n bool checkStandard = _checkStandardVotingToken(votingType_, votingTokenContract_);\n require(checkStandard == true,\"Contract does not match with corresponding type\");\n\n _passportFee = tgpassport.GetPassportFee();\n daos[dao_] = DAO(msg.sender, daoTg, false, dao_, votingType_, votingTokenContract_, dao_name_);\n (bool feePaid,) = _owner.call{value: _passportFee}(\"\"); \n require(feePaid, \"Unable to transfer fee\");\n require (msg.value == _passportFee, \"Passport fee is not paid\");\n emit ApplicationForJoin(daoTg,applyerTg,dao_,votingType_,votingTokenContract_, dao_name_);\n emit ApplicationForJoinIndexed(daoTg,applyerTg,dao_,votingType_,votingTokenContract_, dao_name_);\n }\n\n\n \n /**\n * @dev This function intended to be used by bot, cause only bot can check if tg id of multisig owner is eqal of tg id of chat admin\n * @param daoAddress address of multisig wallet\n */\n function ApproveJoin(address daoAddress) public onlyOwner {\n DAO memory org = daos[daoAddress];\n require(org.valid == false, \"already has been approved OR didn't applied at all\");\n org.valid = true;\n daos[daoAddress] = org;\n dao_count.increment();\n Chat_id_array.push(org.tgId);\n emit ApprovedJoin(org.tgId,org.multisigAddress,org.votingType,org.votingToken, org.group_name);\n }\n\n /**\n * @dev function for decline join (for erase unvalid data as example)\n * @param daoAddress address of multisig\n */\n function DeclineJoin(address daoAddress) public onlyOwner {\n DAO memory org = daos[daoAddress];\n require(org.valid == false, \"already has been approved OR didn't applied at all\");\n delete daos[daoAddress];\n delete daoAddresses[org.tgId];\n // daoAddresses[org.tgId] = address(0x0);\n emit DeclinedApplication(org.tgId,org.multisigAddress,org.votingType,org.votingToken, org.group_name);\n }\n\n\n /**\n * @dev internal function to check interface id of voting token contract\n */\n function _checkStandardVotingToken(VotingType votingType_, address votingTokenContract_) internal view returns (bool success) {\n if (votingType_ == VotingType.erc721) {\n (success) = IERC721Enumerable(votingTokenContract_).\n supportsInterface(_INTERFACE_ID_IERC721ENUMERABLE);\n return success;\n }\n if (votingType_ == VotingType.erc20) {\n // TODO: check this. decimals of standard token should be equal 18. Probably remove this check\n (success) = IERC20Metadata(votingTokenContract_).decimals() == 18;\n }\n // TODO: add check for snapshot\n\n }\n\n\n /**\n * @dev get multisig address by tgid of chat\n */\n function getDaoAddressbyChatId(int64 chat_id) public view returns (address) {\n address dao = daoAddresses[chat_id];\n return dao;\n }\n\n\n function getDaoCount() public view returns (uint256) {\n return dao_count.current();\n }\n\n}" + }, + "hardhat/console.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity >= 0.4.22 <0.9.0;\n\nlibrary console {\n\taddress constant CONSOLE_ADDRESS = address(0x000000000000000000636F6e736F6c652e6c6f67);\n\n\tfunction _sendLogPayload(bytes memory payload) private view {\n\t\tuint256 payloadLength = payload.length;\n\t\taddress consoleAddress = CONSOLE_ADDRESS;\n\t\tassembly {\n\t\t\tlet payloadStart := add(payload, 32)\n\t\t\tlet r := staticcall(gas(), consoleAddress, payloadStart, payloadLength, 0, 0)\n\t\t}\n\t}\n\n\tfunction log() internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log()\"));\n\t}\n\n\tfunction logInt(int p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(int)\", p0));\n\t}\n\n\tfunction logUint(uint p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint)\", p0));\n\t}\n\n\tfunction logString(string memory p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n\t}\n\n\tfunction logBool(bool p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n\t}\n\n\tfunction logAddress(address p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n\t}\n\n\tfunction logBytes(bytes memory p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes)\", p0));\n\t}\n\n\tfunction logBytes1(bytes1 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes1)\", p0));\n\t}\n\n\tfunction logBytes2(bytes2 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes2)\", p0));\n\t}\n\n\tfunction logBytes3(bytes3 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes3)\", p0));\n\t}\n\n\tfunction logBytes4(bytes4 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes4)\", p0));\n\t}\n\n\tfunction logBytes5(bytes5 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes5)\", p0));\n\t}\n\n\tfunction logBytes6(bytes6 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes6)\", p0));\n\t}\n\n\tfunction logBytes7(bytes7 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes7)\", p0));\n\t}\n\n\tfunction logBytes8(bytes8 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes8)\", p0));\n\t}\n\n\tfunction logBytes9(bytes9 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes9)\", p0));\n\t}\n\n\tfunction logBytes10(bytes10 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes10)\", p0));\n\t}\n\n\tfunction logBytes11(bytes11 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes11)\", p0));\n\t}\n\n\tfunction logBytes12(bytes12 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes12)\", p0));\n\t}\n\n\tfunction logBytes13(bytes13 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes13)\", p0));\n\t}\n\n\tfunction logBytes14(bytes14 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes14)\", p0));\n\t}\n\n\tfunction logBytes15(bytes15 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes15)\", p0));\n\t}\n\n\tfunction logBytes16(bytes16 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes16)\", p0));\n\t}\n\n\tfunction logBytes17(bytes17 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes17)\", p0));\n\t}\n\n\tfunction logBytes18(bytes18 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes18)\", p0));\n\t}\n\n\tfunction logBytes19(bytes19 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes19)\", p0));\n\t}\n\n\tfunction logBytes20(bytes20 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes20)\", p0));\n\t}\n\n\tfunction logBytes21(bytes21 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes21)\", p0));\n\t}\n\n\tfunction logBytes22(bytes22 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes22)\", p0));\n\t}\n\n\tfunction logBytes23(bytes23 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes23)\", p0));\n\t}\n\n\tfunction logBytes24(bytes24 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes24)\", p0));\n\t}\n\n\tfunction logBytes25(bytes25 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes25)\", p0));\n\t}\n\n\tfunction logBytes26(bytes26 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes26)\", p0));\n\t}\n\n\tfunction logBytes27(bytes27 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes27)\", p0));\n\t}\n\n\tfunction logBytes28(bytes28 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes28)\", p0));\n\t}\n\n\tfunction logBytes29(bytes29 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes29)\", p0));\n\t}\n\n\tfunction logBytes30(bytes30 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes30)\", p0));\n\t}\n\n\tfunction logBytes31(bytes31 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes31)\", p0));\n\t}\n\n\tfunction logBytes32(bytes32 p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bytes32)\", p0));\n\t}\n\n\tfunction log(uint p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint)\", p0));\n\t}\n\n\tfunction log(string memory p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string)\", p0));\n\t}\n\n\tfunction log(bool p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool)\", p0));\n\t}\n\n\tfunction log(address p0) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address)\", p0));\n\t}\n\n\tfunction log(uint p0, uint p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint)\", p0, p1));\n\t}\n\n\tfunction log(uint p0, string memory p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string)\", p0, p1));\n\t}\n\n\tfunction log(uint p0, bool p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool)\", p0, p1));\n\t}\n\n\tfunction log(uint p0, address p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address)\", p0, p1));\n\t}\n\n\tfunction log(string memory p0, uint p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint)\", p0, p1));\n\t}\n\n\tfunction log(string memory p0, string memory p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string)\", p0, p1));\n\t}\n\n\tfunction log(string memory p0, bool p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool)\", p0, p1));\n\t}\n\n\tfunction log(string memory p0, address p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address)\", p0, p1));\n\t}\n\n\tfunction log(bool p0, uint p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint)\", p0, p1));\n\t}\n\n\tfunction log(bool p0, string memory p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string)\", p0, p1));\n\t}\n\n\tfunction log(bool p0, bool p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool)\", p0, p1));\n\t}\n\n\tfunction log(bool p0, address p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address)\", p0, p1));\n\t}\n\n\tfunction log(address p0, uint p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint)\", p0, p1));\n\t}\n\n\tfunction log(address p0, string memory p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string)\", p0, p1));\n\t}\n\n\tfunction log(address p0, bool p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool)\", p0, p1));\n\t}\n\n\tfunction log(address p0, address p1) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address)\", p0, p1));\n\t}\n\n\tfunction log(uint p0, uint p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, uint p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, uint p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, uint p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, string memory p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, string memory p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, string memory p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, string memory p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, bool p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, bool p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, bool p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, bool p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, address p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, address p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, address p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, address p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, uint p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, uint p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, uint p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, uint p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, string memory p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, string memory p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, string memory p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, string memory p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, bool p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, bool p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, bool p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, bool p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, address p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, address p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, address p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(string memory p0, address p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, uint p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, uint p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, uint p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, uint p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, string memory p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, string memory p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, string memory p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, string memory p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, bool p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, bool p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, bool p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, bool p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, address p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, address p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, address p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(bool p0, address p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, uint p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, uint p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, uint p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, uint p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, string memory p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, string memory p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, string memory p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, string memory p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, bool p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, bool p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, bool p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, bool p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, address p1, uint p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, address p1, string memory p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,string)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, address p1, bool p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool)\", p0, p1, p2));\n\t}\n\n\tfunction log(address p0, address p1, address p2) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,address)\", p0, p1, p2));\n\t}\n\n\tfunction log(uint p0, uint p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, uint p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,uint,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, string memory p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,string,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, bool p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,bool,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(uint p0, address p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(uint,address,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, uint p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,uint,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, string memory p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,string,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, bool p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,bool,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(string memory p0, address p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(string,address,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, uint p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,uint,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, string memory p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,string,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, bool p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,bool,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(bool p0, address p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(bool,address,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, uint p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,uint,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, string memory p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,string,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, bool p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,bool,address,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, uint p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, uint p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, uint p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, uint p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,uint,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, string memory p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, string memory p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, string memory p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, string memory p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,string,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, bool p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, bool p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, bool p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, bool p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,bool,address)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, address p2, uint p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,uint)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, address p2, string memory p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,string)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, address p2, bool p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,bool)\", p0, p1, p2, p3));\n\t}\n\n\tfunction log(address p0, address p1, address p2, address p3) internal view {\n\t\t_sendLogPayload(abi.encodeWithSignature(\"log(address,address,address,address)\", p0, p1, p2, p3));\n\t}\n\n}\n" + }, + "@openzeppelin/contracts/access/Ownable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n _;\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` 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 amount) 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 `amount` as the allowance of `spender` over the 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 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` 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(\n address from,\n address to,\n uint256 amount\n ) external returns (bool);\n\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" + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n *\n * _Available since v4.1._\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" + }, + "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC721/extensions/IERC721Enumerable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Enumerable is IERC721 {\n /**\n * @dev Returns the total amount of tokens stored by the contract.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n * Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\n */\n function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);\n\n /**\n * @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n * Use along with {totalSupply} to enumerate all tokens.\n */\n function tokenByIndex(uint256 index) external view returns (uint256);\n}\n" + }, + "@openzeppelin/contracts/utils/Counters.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Counters.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title Counters\n * @author Matt Condon (@shrugs)\n * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n * of elements in a mapping, issuing ERC721 ids, or counting request ids.\n *\n * Include with `using Counters for Counters.Counter;`\n */\nlibrary Counters {\n struct Counter {\n // This variable should never be directly accessed by users of the library: interactions must be restricted to\n // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add\n // this feature: see https://github.com/ethereum/solidity/issues/4637\n uint256 _value; // default: 0\n }\n\n function current(Counter storage counter) internal view returns (uint256) {\n return counter._value;\n }\n\n function increment(Counter storage counter) internal {\n unchecked {\n counter._value += 1;\n }\n }\n\n function decrement(Counter storage counter) internal {\n uint256 value = counter._value;\n require(value > 0, \"Counter: decrement overflow\");\n unchecked {\n counter._value = value - 1;\n }\n }\n\n function reset(Counter storage counter) internal {\n counter._value = 0;\n }\n}\n" + }, + "@openzeppelin/contracts/access/AccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControl.sol\";\nimport \"../utils/Context.sol\";\nimport \"../utils/Strings.sol\";\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address => bool) members;\n bytes32 adminRole;\n }\n\n mapping(bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with a standardized message including the required role.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n *\n * _Available since v4.1._\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role, _msgSender());\n _;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual override returns (bool) {\n return _roles[role].members[account];\n }\n\n /**\n * @dev Revert with a standard message if `account` is missing `role`.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert(\n string(\n abi.encodePacked(\n \"AccessControl: account \",\n Strings.toHexString(uint160(account), 20),\n \" is missing role \",\n Strings.toHexString(uint256(role), 32)\n )\n )\n );\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) public virtual override {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n *\n * NOTE: This function is deprecated in favor of {_grantRole}.\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * Internal function without access restriction.\n */\n function _grantRole(bytes32 role, address account) internal virtual {\n if (!hasRole(role, account)) {\n _roles[role].members[account] = true;\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * Internal function without access restriction.\n */\n function _revokeRole(bytes32 role, address account) internal virtual {\n if (hasRole(role, account)) {\n _roles[role].members[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n" + }, + "contracts/TGPassport.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\n//import \"hardhat/console.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\"; // @WARN: it's direct import change to ../node_modules/ for ABI\n//import \"../node_modules/@openzeppelin/contracts/access/Ownable.sol\"; // @WARN: it's an absolute path witch is required for build abi, binaries and go files\n\ncontract TGPassport is Ownable {\n \n \n uint private _passportFee; \n address private _owner; \n\n struct Passport {\n address userAddress;\n int64 tgId; // unic Id for telegram (number)\n bool valid;\n address validatorAddress;\n string userName; // can be changed, do not trust it\n }\n\n\n //mappings\n mapping(int64 => address) public tgIdToAddress;\n mapping(address => Passport) public passports;\n mapping(string => address) public username_wallets; // usernames can be changed, do not trust it, use as utility\n \n mapping (int64 => mapping(int64 => bool)) public trust_global; // user id => [] user ids => trust\n \n /**\n * \n * 1. by defult user TRUST N0 0NE.\n * 2. we can get int64[] opinion_changed, so we get array of user who express trust/untrust to specific user\n * 3. then we can call GetTrust(user_from,user_to) for each of result from opinion_changed, and get arrays of trusters/untrusters attached to specific user\n * ..... possibly there is a better way to do it\n */\n mapping (int64 => int64[]) public opinion_changed;\n \n // EVENTS\n //\n event passportApplied(int64 applyerTg, address wallet_address);\n event passportAppliedIndexed(int64 indexed applyerTg, address wallet_address);\n event passportApproved(int64 applyerTg, address wallet_address, address issuer);\n event passportDenied(int64 applyerTg, address wallet);\n event TrustChanged(int64 from, int64 indexed to, bool trust);\n\n\n constructor() Ownable() {\n _passportFee = 1000 wei; // TODO: calculate gas costs\n _owner = owner();\n }\n\n\n function _updateAddress(int64 tgId, address userAddress, string memory user_name_) internal {\n require(tgIdToAddress[tgId] == address(0x0), \"There's address connected to that TG ID already.\"); // if cell is not empty revert\n tgIdToAddress[tgId] = userAddress;\n username_wallets[user_name_] = userAddress;\n }\n\n /**\n * @dev This function update user nicname if user change it\n */\n function UpdateUserName(string memory new_user_name_) public {\n Passport memory p = GetPassportByAddress(msg.sender);\n require(p.userAddress == msg.sender, \"you don't now own this username\");\n p.userName = new_user_name_;\n passports[msg.sender] = p;\n }\n\n /**\n * @notice This function for USER who try to obtain some tg_id\n * @param applyerTg unic id for telegram user, in telegram it's int64 (number)\n * @param user_name_ is username (like @username)\n **/\n function ApplyForPassport (int64 applyerTg, string memory user_name_) public payable {\n address applyerAddress = msg.sender; // ЛИЧНАЯ ПОДАЧА ПАСПОРТА В ТРЕТЬЕ ОКОШКО МФЦ\n _updateAddress(applyerTg,applyerAddress,user_name_); \n require (msg.value == _passportFee, \"Passport fee is not paid\");\n\n passports[msg.sender] = Passport(applyerAddress, applyerTg, false, address(0x0),user_name_);\n emit passportApplied(applyerTg, msg.sender);\n emit passportAppliedIndexed(applyerTg, msg.sender);\n (bool feePaid,) = _owner.call{value: _passportFee}(\"\");\n require(feePaid, \"Unable to transfer fee\");\n }\n\n /** \n * @notice This function approving passport (use for bot) which approve that user owns it's tg_id and nicname he want to attach with\n * @param passportToApprove address of user wallet which attached to him\n */\n function ApprovePassport (address passportToApprove) public onlyOwner {\n int64 _tgId = passports[passportToApprove].tgId;\n string memory user_name_ = passports[passportToApprove].userName;\n require(passports[passportToApprove].valid == false, \"already approved OR do not exists yet\");\n trust_global[_tgId][_tgId] == true;\n passports[passportToApprove] = Passport(passportToApprove, _tgId, true, msg.sender, user_name_); \n emit passportApproved(_tgId,passportToApprove,msg.sender);\n }\n\n /**\n * @notice This function decline application end erase junk data\n * @param passportToDecline address of user wallet\n */\n function DeclinePassport (address passportToDecline) public onlyOwner {\n int64 _tgId = passports[passportToDecline].tgId;\n string memory user_name_ = passports[passportToDecline].userName;\n require(passports[passportToDecline].valid == false, \"already approved OR do not exists yet\"); // it also means that record exists\n delete passports[passportToDecline];\n delete tgIdToAddress[_tgId];\n delete username_wallets[user_name_];\n emit passportDenied(_tgId,passportToDecline);\n }\n\n /**\n * @dev This function is a service function which allow Owner to erase already approved passport\n * and make clean state contract. NOT FOR USE IN PRODUCTION\n */\n function DeletePassport (address passportToDecline) public onlyOwner {\n int64 _tgId = passports[passportToDecline].tgId;\n string memory user_name_ = passports[passportToDecline].userName;\n uint chainID = block.chainid;\n require(chainID == uint(5), \"this function work's only for testnet\"); \n // require(passports[passportToDecline].valid == false, \"already approved OR do not exists yet\"); // it also means that record exists\n delete passports[passportToDecline];\n delete tgIdToAddress[_tgId];\n delete username_wallets[user_name_];\n emit passportDenied(_tgId,passportToDecline);\n } \n\n\n /**\n * \n * @dev this INTERNAL function is to show trust to other user\n * @param from tgid user who trust\n * @param to tgid user who trusted by\n */\n function _iTrustTo(int64 from, int64 to) internal {\n trust_global[from][to] = true;\n }\n\n /**\n * @dev this INTERNAL function is to DISRESPECT youser\n * by DEFAULT you are TRUST NO 0NE!\n * @param from tgid user who DONT TRUST\n * @param to tgid user who looks suspiciouse\n */\n function _iNotTrust(int64 from, int64 to) internal {\n trust_global[from][to] = false;\n }\n\n /*\n function SetTrustToAddress(address to, bool trust) public {\n \n }\n */\n\n /**\n * @dev set trust 'from' tgid 'to' tgid\n */\n function SetTrustToID(int64 from, int64 to, bool trust) public {\n Passport memory from_p = GetPassportByTgId(from);\n address from_address = from_p.userAddress;\n require(from_address == msg.sender, \"Your current address mismatch with your registred wallet address\"); // we check only registration 'from', 'to' may not be registred\n if (trust == true) {\n _iTrustTo(from,to);\n opinion_changed[from].push(to); // consider remove\n emit TrustChanged(from,to,trust);\n } else {\n _iNotTrust(from,to);\n opinion_changed[from].push(to); // consider remove\n emit TrustChanged(from,to,trust);\n }\n\n }\n\n\n /**\n * @notice get to know if tgid from trust tgid to\n */\n function GetTrust(int64 from, int64 to) public view returns (bool) {\n return trust_global[from][to];\n }\n\n /**\n * @dev setting fee for applying for passport\n */\n function SetPassportFee(uint passportFee_) public onlyOwner {\n _passportFee = passportFee_;\n }\n\n /**\n * @dev getter to obtain how much user will pay for apply\n */\n function GetPassportFee() public view returns (uint) {\n return _passportFee;\n }\n\n\n function GetPassportWalletByID(int64 tgId_) public view returns(address){\n return tgIdToAddress[tgId_];\n }\n\n function GetTgIdByAddress(address user_wallet) public view returns(int64 tgid) {\n Passport memory p = GetPassportByAddress(user_wallet);\n tgid = p.tgId;\n return tgid;\n }\n\n function GetPassportByAddress(address user_wallet) public view returns(Passport memory) {\n Passport memory p = passports[user_wallet];\n return p;\n }\n\n function GetWalletByNickName(string memory user_name_) public view returns (address) {\n return username_wallets[user_name_];\n }\n\n function GetPassportByNickName(string memory user_name_) public view returns (Passport memory) {\n address wallet_ = GetWalletByNickName(user_name_);\n Passport memory p = passports[wallet_];\n return p;\n }\n\n function GetPassportByTgId(int64 tgId_) public view returns (Passport memory) {\n address wallet = GetPassportWalletByID(tgId_);\n Passport memory p = passports[wallet];\n return p;\n }\n\n function GetOwner() public view returns(address) {\n return _owner;\n }\n\n}" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\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" + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool _approved) external;\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId,\n bytes calldata data\n ) external;\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\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[EIP 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" + }, + "@openzeppelin/contracts/access/IAccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {AccessControl-_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) external;\n}\n" + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _HEX_SYMBOLS = \"0123456789abcdef\";\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 // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\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 if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\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 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_SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + }, + "contracts/erc20/ERC20Sample.sol": { + "content": "// SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\n// in-direct imports\n\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\n\n\n// direct imports, use it for go generation\n/*\nimport \"../../node_modules/@openzeppelin/contracts/access/Ownable.sol\";\nimport \"../../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\";\nimport \"../../node_modules/@openzeppelin/contracts/token/ERC20/ERC20.sol\";\nimport \"../../node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\";\n*/\n\ncontract ERC20Sample is ERC20, Ownable {\n constructor(string memory name_, string memory symbol_, uint256 initialSupply)\n ERC20(name_, symbol_)\n \n {\n mint(msg.sender,initialSupply);\n }\n\n function mint(address to, uint256 amount) public virtual onlyOwner {\n super._mint(to, amount);\n }\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/ERC20.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC20.sol\";\nimport \"./extensions/IERC20Metadata.sol\";\nimport \"../../utils/Context.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 * For a generic mechanism see {ERC20PresetMinterPauser}.\n *\n * TIP: For a detailed writeup see our guide\n * https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n * to implement supply mechanisms].\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 ERC20\n * applications.\n *\n * Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n * This allows applications to reconstruct the allowance for all accounts just\n * by listening to said events. Other implementations of the EIP may not emit\n * these events, as it isn't required by the specification.\n *\n * Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n * functions have been added to mitigate the well-known issues around setting\n * allowances. See {IERC20-approve}.\n */\ncontract ERC20 is Context, IERC20, IERC20Metadata {\n mapping(address => uint256) private _balances;\n\n mapping(address => mapping(address => 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 * The default value of {decimals} is 18. To select a different value for\n * {decimals} you should overload it.\n *\n * All two of these values are immutable: they can only be set once during\n * 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 override 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 override 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 value {ERC20} uses, unless this function is\n * 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 override returns (uint8) {\n return 18;\n }\n\n /**\n * @dev See {IERC20-totalSupply}.\n */\n function totalSupply() public view virtual override returns (uint256) {\n return _totalSupply;\n }\n\n /**\n * @dev See {IERC20-balanceOf}.\n */\n function balanceOf(address account) public view virtual override 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 `amount`.\n */\n function transfer(address to, uint256 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _transfer(owner, to, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-allowance}.\n */\n function allowance(address owner, address spender) public view virtual override returns (uint256) {\n return _allowances[owner][spender];\n }\n\n /**\n * @dev See {IERC20-approve}.\n *\n * NOTE: If `amount` 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 amount) public virtual override returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, amount);\n return true;\n }\n\n /**\n * @dev See {IERC20-transferFrom}.\n *\n * Emits an {Approval} event indicating the updated allowance. This is not\n * required by the EIP. See the note at the beginning of {ERC20}.\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 `amount`.\n * - the caller must have allowance for ``from``'s tokens of at least\n * `amount`.\n */\n function transferFrom(\n address from,\n address to,\n uint256 amount\n ) public virtual override returns (bool) {\n address spender = _msgSender();\n _spendAllowance(from, spender, amount);\n _transfer(from, to, amount);\n return true;\n }\n\n /**\n * @dev Atomically increases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n */\n function increaseAllowance(address spender, uint256 addedValue) public virtual returns (bool) {\n address owner = _msgSender();\n _approve(owner, spender, _allowances[owner][spender] + addedValue);\n return true;\n }\n\n /**\n * @dev Atomically decreases the allowance granted to `spender` by the caller.\n *\n * This is an alternative to {approve} that can be used as a mitigation for\n * problems described in {IERC20-approve}.\n *\n * Emits an {Approval} event indicating the updated allowance.\n *\n * Requirements:\n *\n * - `spender` cannot be the zero address.\n * - `spender` must have allowance for the caller of at least\n * `subtractedValue`.\n */\n function decreaseAllowance(address spender, uint256 subtractedValue) public virtual returns (bool) {\n address owner = _msgSender();\n uint256 currentAllowance = _allowances[owner][spender];\n require(currentAllowance >= subtractedValue, \"ERC20: decreased allowance below zero\");\n unchecked {\n _approve(owner, spender, currentAllowance - subtractedValue);\n }\n\n return true;\n }\n\n /**\n * @dev Moves `amount` of tokens from `sender` to `recipient`.\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 * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `from` must have a balance of at least `amount`.\n */\n function _transfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {\n require(from != address(0), \"ERC20: transfer from the zero address\");\n require(to != address(0), \"ERC20: transfer to the zero address\");\n\n _beforeTokenTransfer(from, to, amount);\n\n uint256 fromBalance = _balances[from];\n require(fromBalance >= amount, \"ERC20: transfer amount exceeds balance\");\n unchecked {\n _balances[from] = fromBalance - amount;\n }\n _balances[to] += amount;\n\n emit Transfer(from, to, amount);\n\n _afterTokenTransfer(from, to, amount);\n }\n\n /** @dev Creates `amount` tokens and assigns them to `account`, increasing\n * the total supply.\n *\n * Emits a {Transfer} event with `from` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n */\n function _mint(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: mint to the zero address\");\n\n _beforeTokenTransfer(address(0), account, amount);\n\n _totalSupply += amount;\n _balances[account] += amount;\n emit Transfer(address(0), account, amount);\n\n _afterTokenTransfer(address(0), account, amount);\n }\n\n /**\n * @dev Destroys `amount` tokens from `account`, reducing the\n * total supply.\n *\n * Emits a {Transfer} event with `to` set to the zero address.\n *\n * Requirements:\n *\n * - `account` cannot be the zero address.\n * - `account` must have at least `amount` tokens.\n */\n function _burn(address account, uint256 amount) internal virtual {\n require(account != address(0), \"ERC20: burn from the zero address\");\n\n _beforeTokenTransfer(account, address(0), amount);\n\n uint256 accountBalance = _balances[account];\n require(accountBalance >= amount, \"ERC20: burn amount exceeds balance\");\n unchecked {\n _balances[account] = accountBalance - amount;\n }\n _totalSupply -= amount;\n\n emit Transfer(account, address(0), amount);\n\n _afterTokenTransfer(account, address(0), amount);\n }\n\n /**\n * @dev Sets `amount` 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 function _approve(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n require(owner != address(0), \"ERC20: approve from the zero address\");\n require(spender != address(0), \"ERC20: approve to the zero address\");\n\n _allowances[owner][spender] = amount;\n emit Approval(owner, spender, amount);\n }\n\n /**\n * @dev Spend `amount` form the allowance of `owner` toward `spender`.\n *\n * Does not update the allowance amount in case of infinite allowance.\n * Revert if not enough allowance is available.\n *\n * Might emit an {Approval} event.\n */\n function _spendAllowance(\n address owner,\n address spender,\n uint256 amount\n ) internal virtual {\n uint256 currentAllowance = allowance(owner, spender);\n if (currentAllowance != type(uint256).max) {\n require(currentAllowance >= amount, \"ERC20: insufficient allowance\");\n unchecked {\n _approve(owner, spender, currentAllowance - amount);\n }\n }\n }\n\n /**\n * @dev Hook that is called before any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * will be transferred to `to`.\n * - when `from` is zero, `amount` tokens will be minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _beforeTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n\n /**\n * @dev Hook that is called after any transfer of tokens. This includes\n * minting and burning.\n *\n * Calling conditions:\n *\n * - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n * has been transferred to `to`.\n * - when `from` is zero, `amount` tokens have been minted for `to`.\n * - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n * - `from` and `to` are never both zero.\n *\n * To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks].\n */\n function _afterTokenTransfer(\n address from,\n address to,\n uint256 amount\n ) internal virtual {}\n}\n" + } + }, + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "output": { + "contracts": { + "@openzeppelin/contracts/access/AccessControl.sol": { + "AccessControl": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "DEFAULT_ADMIN_ROLE()": "a217fddf", + "getRoleAdmin(bytes32)": "248a9ca3", + "grantRole(bytes32,address)": "2f2ff15d", + "hasRole(bytes32,address)": "91d14854", + "renounceRole(bytes32,address)": "36568abe", + "revokeRole(bytes32,address)": "d547741f", + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ``` bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ``` function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it.\",\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/AccessControl.sol\":\"AccessControl\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x4a1a0ba12bf1a33f10d9fe226278cf59675c0b929d29e4da99658a079b27fb84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bda1319db846d6d6f92d8a57a9bdee8bde1dc39aa7546165791692c24dd6f30a\",\"dweb:/ipfs/Qma5oZ7DmbdAjd8mpiW7mx896PDtwsQtCQ2hj9Upf7b7JK\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/access/IAccessControl.sol": { + "IAccessControl": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getRoleAdmin(bytes32)": "248a9ca3", + "grantRole(bytes32,address)": "2f2ff15d", + "hasRole(bytes32,address)": "91d14854", + "renounceRole(bytes32,address)": "36568abe", + "revokeRole(bytes32,address)": "d547741f" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC165 detection.\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/access/Ownable.sol": { + "Ownable": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "ERC20": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "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": "amount", + "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" + } + ], + "evm": { + "bytecode": { + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:3266:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "102:259:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "112:75:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "179:6:17" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "137:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "137:49:17" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "121:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "121:66:17" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "112:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "203:5:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "210:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "196:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "196:21:17" + }, + "nodeType": "YulExpressionStatement", + "src": "196:21:17" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "226:27:17", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "241:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "248:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "237:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "237:16:17" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "230:3:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "291:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "300:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "303:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "293:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "293:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "293:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "272:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "277:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "268:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "268:16:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "286:3:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "265:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "265:25:17" + }, + "nodeType": "YulIf", + "src": "262:2:17" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "338:3:17" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "343:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "348:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "316:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "316:39:17" + }, + "nodeType": "YulExpressionStatement", + "src": "316:39:17" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "75:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "80:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "88:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "96:5:17", + "type": "" + } + ], + "src": "7:354:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "454:215:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "503:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "512:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "515:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "505:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "505:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "505:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "482:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "490:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "478:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "478:17:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "497:3:17" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "474:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "474:27:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "467:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "467:35:17" + }, + "nodeType": "YulIf", + "src": "464:2:17" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "528:27:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "548:6:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "542:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "542:13:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "532:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "564:99:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "636:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "644:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "632:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "632:17:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "651:6:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "659:3:17" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "573:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "573:90:17" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "564:5:17" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "432:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "440:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "448:5:17", + "type": "" + } + ], + "src": "381:288:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "789:538:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "835:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "844:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "847:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "837:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "837:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "837:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "810:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "819:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "806:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "806:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "831:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "802:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "802:32:17" + }, + "nodeType": "YulIf", + "src": "799:2:17" + }, + { + "nodeType": "YulBlock", + "src": "861:224:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "876:38:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "900:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "911:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "896:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "896:17:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "890:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "890:24:17" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "880:6:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "961:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "970:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "973:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "963:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "963:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "963:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "933:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "941:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "930:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "930:30:17" + }, + "nodeType": "YulIf", + "src": "927:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "991:84:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1047:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1058:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1043:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1043:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1067:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "1001:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "1001:74:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "991:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1095:225:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1110:39:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1134:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1145:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1130:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1130:18:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1124:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "1124:25:17" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1114:6:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1196:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1205:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1208:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1198:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1198:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1198:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1168:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1176:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1165:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "1165:30:17" + }, + "nodeType": "YulIf", + "src": "1162:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "1226:84:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1282:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1293:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1278:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1278:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1302:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "1236:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "1236:74:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1226:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "751:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "762:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "774:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "782:6:17", + "type": "" + } + ], + "src": "675:652:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1374:88:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1384:30:17", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "1394:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "1394:20:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1384:6:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1443:6:17" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1451:4:17" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "1423:19:17" + }, + "nodeType": "YulFunctionCall", + "src": "1423:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1423:33:17" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1358:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1367:6:17", + "type": "" + } + ], + "src": "1333:129:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1508:35:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1518:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1534:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1528:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "1528:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "1518:6:17" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "1501:6:17", + "type": "" + } + ], + "src": "1468:75:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1616:241:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1721:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "1723:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "1723:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1723:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1693:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1701:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1690:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "1690:30:17" + }, + "nodeType": "YulIf", + "src": "1687:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "1753:37:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1783:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1761:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "1761:29:17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1753:4:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1827:23:17", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1839:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1845:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1835:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1835:15:17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "1827:4:17" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1600:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "1611:4:17", + "type": "" + } + ], + "src": "1549:308:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1912:258:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1922:10:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1931:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "1926:1:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1991:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2016:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2021:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2012:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2012:11:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "2035:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2040:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2031:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2031:11:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2025:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "2025:18:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2005:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2005:39:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2005:39:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1952:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1955:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "1949:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "1949:13:17" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "1963:19:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1965:15:17", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1974:1:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1977:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1970:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1970:10:17" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "1965:1:17" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "1945:3:17", + "statements": [] + }, + "src": "1941:113:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2088:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "2138:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2143:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2134:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2134:16:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2152:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2127:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2127:27:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2127:27:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "2069:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2072:6:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2066:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "2066:13:17" + }, + "nodeType": "YulIf", + "src": "2063:2:17" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "1894:3:17", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "1899:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1904:6:17", + "type": "" + } + ], + "src": "1863:307:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2227:269:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2237:22:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "2251:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2257:1:17", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "2247:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2247:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2237:6:17" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "2268:38:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "2298:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2304:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2294:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2294:12:17" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "2272:18:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2345:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2359:27:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2373:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2381:4:17", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "2369:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2369:17:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2359:6:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "2325:18:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "2318:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2318:26:17" + }, + "nodeType": "YulIf", + "src": "2315:2:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2448:42:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "2462:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "2462:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2462:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "2412:18:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2435:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2443:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2432:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "2432:14:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "2409:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "2409:38:17" + }, + "nodeType": "YulIf", + "src": "2406:2:17" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "2211:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2220:6:17", + "type": "" + } + ], + "src": "2176:320:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2545:238:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2555:58:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2577:6:17" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "2607:4:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2585:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "2585:27:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2573:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2573:40:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "2559:10:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2724:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "2726:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "2726:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2726:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "2667:10:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2679:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "2664:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "2664:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "2703:10:17" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "2715:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "2700:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "2700:22:17" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "2661:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "2661:62:17" + }, + "nodeType": "YulIf", + "src": "2658:2:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2762:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "2766:10:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2755:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2755:22:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2755:22:17" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "2531:6:17", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "2539:4:17", + "type": "" + } + ], + "src": "2502:281:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2817:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2834:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2837:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2827:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2827:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2827:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2931:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2934:4:17", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2924:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2924:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2924:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2955:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2958:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2948:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2948:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2948:15:17" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "2789:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3003:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3020:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3023:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3013:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3013:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3013:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3117:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3120:4:17", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3110:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3110:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3110:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3141:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3144:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3134:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3134:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3134:15:17" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "2975:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3209:54:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3219:38:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "3237:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3244:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3233:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3233:14:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3253:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "3249:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3249:7:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "3229:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3229:28:17" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "3219:6:17" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "3192:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "3202:6:17", + "type": "" + } + ], + "src": "3161:102:17" + } + ] + }, + "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptr_fromMemory(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n}\n", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b50604051620016bf380380620016bf833981810160405281019062000037919062000193565b81600390805190602001906200004f92919062000071565b5080600490805190602001906200006892919062000071565b50505062000376565b8280546200007f906200029b565b90600052602060002090601f016020900481019282620000a35760008555620000ef565b82601f10620000be57805160ff1916838001178555620000ef565b82800160010185558215620000ef579182015b82811115620000ee578251825591602001919060010190620000d1565b5b509050620000fe919062000102565b5090565b5b808211156200011d57600081600090555060010162000103565b5090565b60006200013862000132846200022f565b62000206565b9050828152602081018484840111156200015157600080fd5b6200015e84828562000265565b509392505050565b600082601f8301126200017857600080fd5b81516200018a84826020860162000121565b91505092915050565b60008060408385031215620001a757600080fd5b600083015167ffffffffffffffff811115620001c257600080fd5b620001d08582860162000166565b925050602083015167ffffffffffffffff811115620001ee57600080fd5b620001fc8582860162000166565b9150509250929050565b60006200021262000225565b9050620002208282620002d1565b919050565b6000604051905090565b600067ffffffffffffffff8211156200024d576200024c62000336565b5b620002588262000365565b9050602081019050919050565b60005b838110156200028557808201518184015260208101905062000268565b8381111562000295576000848401525b50505050565b60006002820490506001821680620002b457607f821691505b60208210811415620002cb57620002ca62000307565b5b50919050565b620002dc8262000365565b810181811067ffffffffffffffff82111715620002fe57620002fd62000336565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b61133980620003866000396000f3fe608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610dff565b60405180910390f35b6100e660048036038101906100e19190610c4d565b610308565b6040516100f39190610de4565b60405180910390f35b61010461032b565b6040516101119190610f01565b60405180910390f35b610134600480360381019061012f9190610bfe565b610335565b6040516101419190610de4565b60405180910390f35b610152610364565b60405161015f9190610f1c565b60405180910390f35b610182600480360381019061017d9190610c4d565b61036d565b60405161018f9190610de4565b60405180910390f35b6101b260048036038101906101ad9190610b99565b610417565b6040516101bf9190610f01565b60405180910390f35b6101d061045f565b6040516101dd9190610dff565b60405180910390f35b61020060048036038101906101fb9190610c4d565b6104f1565b60405161020d9190610de4565b60405180910390f35b610230600480360381019061022b9190610c4d565b6105db565b60405161023d9190610de4565b60405180910390f35b610260600480360381019061025b9190610bc2565b6105fe565b60405161026d9190610f01565b60405180910390f35b60606003805461028590611031565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190611031565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600080610313610685565b905061032081858561068d565b600191505092915050565b6000600254905090565b600080610340610685565b905061034d858285610858565b6103588585856108e4565b60019150509392505050565b60006012905090565b600080610378610685565b905061040c818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104079190610f53565b61068d565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461046e90611031565b80601f016020809104026020016040519081016040528092919081815260200182805461049a90611031565b80156104e75780601f106104bc576101008083540402835291602001916104e7565b820191906000526020600020905b8154815290600101906020018083116104ca57829003601f168201915b5050505050905090565b6000806104fc610685565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156105c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b990610ee1565b60405180910390fd5b6105cf828686840361068d565b60019250505092915050565b6000806105e6610685565b90506105f38185856108e4565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f490610ec1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076490610e41565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161084b9190610f01565b60405180910390a3505050565b600061086484846105fe565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108de57818110156108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790610e61565b60405180910390fd5b6108dd848484840361068d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094b90610ea1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb90610e21565b60405180910390fd5b6109cf838383610b65565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4c90610e81565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ae89190610f53565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b4c9190610f01565b60405180910390a3610b5f848484610b6a565b50505050565b505050565b505050565b600081359050610b7e816112d5565b92915050565b600081359050610b93816112ec565b92915050565b600060208284031215610bab57600080fd5b6000610bb984828501610b6f565b91505092915050565b60008060408385031215610bd557600080fd5b6000610be385828601610b6f565b9250506020610bf485828601610b6f565b9150509250929050565b600080600060608486031215610c1357600080fd5b6000610c2186828701610b6f565b9350506020610c3286828701610b6f565b9250506040610c4386828701610b84565b9150509250925092565b60008060408385031215610c6057600080fd5b6000610c6e85828601610b6f565b9250506020610c7f85828601610b84565b9150509250929050565b610c9281610fbb565b82525050565b6000610ca382610f37565b610cad8185610f42565b9350610cbd818560208601610ffe565b610cc6816110c1565b840191505092915050565b6000610cde602383610f42565b9150610ce9826110d2565b604082019050919050565b6000610d01602283610f42565b9150610d0c82611121565b604082019050919050565b6000610d24601d83610f42565b9150610d2f82611170565b602082019050919050565b6000610d47602683610f42565b9150610d5282611199565b604082019050919050565b6000610d6a602583610f42565b9150610d75826111e8565b604082019050919050565b6000610d8d602483610f42565b9150610d9882611237565b604082019050919050565b6000610db0602583610f42565b9150610dbb82611286565b604082019050919050565b610dcf81610fe7565b82525050565b610dde81610ff1565b82525050565b6000602082019050610df96000830184610c89565b92915050565b60006020820190508181036000830152610e198184610c98565b905092915050565b60006020820190508181036000830152610e3a81610cd1565b9050919050565b60006020820190508181036000830152610e5a81610cf4565b9050919050565b60006020820190508181036000830152610e7a81610d17565b9050919050565b60006020820190508181036000830152610e9a81610d3a565b9050919050565b60006020820190508181036000830152610eba81610d5d565b9050919050565b60006020820190508181036000830152610eda81610d80565b9050919050565b60006020820190508181036000830152610efa81610da3565b9050919050565b6000602082019050610f166000830184610dc6565b92915050565b6000602082019050610f316000830184610dd5565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610f5e82610fe7565b9150610f6983610fe7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610f9e57610f9d611063565b5b828201905092915050565b6000610fb482610fc7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561101c578082015181840152602081019050611001565b8381111561102b576000848401525b50505050565b6000600282049050600182168061104957607f821691505b6020821081141561105d5761105c611092565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6112de81610fa9565b81146112e957600080fd5b50565b6112f581610fe7565b811461130057600080fd5b5056fea26469706673582212208fc6053c86f71290ea94ee4e882d106938d10f3b81ae900586424ac573fba6fb64736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x16BF CODESIZE SUB DUP1 PUSH3 0x16BF DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x193 JUMP JUMPDEST DUP2 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x4F SWAP3 SWAP2 SWAP1 PUSH3 0x71 JUMP JUMPDEST POP DUP1 PUSH1 0x4 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x68 SWAP3 SWAP2 SWAP1 PUSH3 0x71 JUMP JUMPDEST POP POP POP PUSH3 0x376 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x7F SWAP1 PUSH3 0x29B JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0xA3 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0xEF JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0xBE JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0xEF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0xEF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0xEE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0xD1 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0xFE SWAP2 SWAP1 PUSH3 0x102 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x11D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x103 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x138 PUSH3 0x132 DUP5 PUSH3 0x22F JUMP JUMPDEST PUSH3 0x206 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x151 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x15E DUP5 DUP3 DUP6 PUSH3 0x265 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x178 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH3 0x18A DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x121 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH3 0x1A7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x1C2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x1D0 DUP6 DUP3 DUP7 ADD PUSH3 0x166 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x1EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x1FC DUP6 DUP3 DUP7 ADD PUSH3 0x166 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x212 PUSH3 0x225 JUMP JUMPDEST SWAP1 POP PUSH3 0x220 DUP3 DUP3 PUSH3 0x2D1 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x24D JUMPI PUSH3 0x24C PUSH3 0x336 JUMP JUMPDEST JUMPDEST PUSH3 0x258 DUP3 PUSH3 0x365 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x285 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x268 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x295 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x2B4 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x2CB JUMPI PUSH3 0x2CA PUSH3 0x307 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x2DC DUP3 PUSH3 0x365 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x2FE JUMPI PUSH3 0x2FD PUSH3 0x336 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1339 DUP1 PUSH3 0x386 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x168 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x198 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x1E6 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x216 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x246 JUMPI PUSH2 0xA9 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x11A JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x14A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x276 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0xDFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE1 SWAP2 SWAP1 PUSH2 0xC4D JUMP JUMPDEST PUSH2 0x308 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xDE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x104 PUSH2 0x32B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x111 SWAP2 SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x134 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12F SWAP2 SWAP1 PUSH2 0xBFE JUMP JUMPDEST PUSH2 0x335 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x141 SWAP2 SWAP1 PUSH2 0xDE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x152 PUSH2 0x364 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15F SWAP2 SWAP1 PUSH2 0xF1C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x182 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17D SWAP2 SWAP1 PUSH2 0xC4D JUMP JUMPDEST PUSH2 0x36D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18F SWAP2 SWAP1 PUSH2 0xDE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1AD SWAP2 SWAP1 PUSH2 0xB99 JUMP JUMPDEST PUSH2 0x417 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BF SWAP2 SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D0 PUSH2 0x45F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DD SWAP2 SWAP1 PUSH2 0xDFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x200 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xC4D JUMP JUMPDEST PUSH2 0x4F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20D SWAP2 SWAP1 PUSH2 0xDE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x230 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22B SWAP2 SWAP1 PUSH2 0xC4D JUMP JUMPDEST PUSH2 0x5DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23D SWAP2 SWAP1 PUSH2 0xDE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x260 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25B SWAP2 SWAP1 PUSH2 0xBC2 JUMP JUMPDEST PUSH2 0x5FE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x26D SWAP2 SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x285 SWAP1 PUSH2 0x1031 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2B1 SWAP1 PUSH2 0x1031 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2FE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2FE JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2E1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x313 PUSH2 0x685 JUMP JUMPDEST SWAP1 POP PUSH2 0x320 DUP2 DUP6 DUP6 PUSH2 0x68D JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x340 PUSH2 0x685 JUMP JUMPDEST SWAP1 POP PUSH2 0x34D DUP6 DUP3 DUP6 PUSH2 0x858 JUMP JUMPDEST PUSH2 0x358 DUP6 DUP6 DUP6 PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x378 PUSH2 0x685 JUMP JUMPDEST SWAP1 POP PUSH2 0x40C DUP2 DUP6 DUP6 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x407 SWAP2 SWAP1 PUSH2 0xF53 JUMP JUMPDEST PUSH2 0x68D JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x46E SWAP1 PUSH2 0x1031 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x49A SWAP1 PUSH2 0x1031 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4E7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4BC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4E7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4CA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4FC PUSH2 0x685 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x5C2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5B9 SWAP1 PUSH2 0xEE1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5CF DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x68D JUMP JUMPDEST PUSH1 0x1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x5E6 PUSH2 0x685 JUMP JUMPDEST SWAP1 POP PUSH2 0x5F3 DUP2 DUP6 DUP6 PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x6FD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6F4 SWAP1 PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x76D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x764 SWAP1 PUSH2 0xE41 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP4 PUSH1 0x40 MLOAD PUSH2 0x84B SWAP2 SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x864 DUP5 DUP5 PUSH2 0x5FE JUMP JUMPDEST SWAP1 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x8DE JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x8D0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8C7 SWAP1 PUSH2 0xE61 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8DD DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x68D JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x954 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x94B SWAP1 PUSH2 0xEA1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x9C4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BB SWAP1 PUSH2 0xE21 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x9CF DUP4 DUP4 DUP4 PUSH2 0xB65 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0xA55 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA4C SWAP1 PUSH2 0xE81 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xAE8 SWAP2 SWAP1 PUSH2 0xF53 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xB4C SWAP2 SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xB5F DUP5 DUP5 DUP5 PUSH2 0xB6A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB7E DUP2 PUSH2 0x12D5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB93 DUP2 PUSH2 0x12EC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xBB9 DUP5 DUP3 DUP6 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xBD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xBE3 DUP6 DUP3 DUP7 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xBF4 DUP6 DUP3 DUP7 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC21 DUP7 DUP3 DUP8 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xC32 DUP7 DUP3 DUP8 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xC43 DUP7 DUP3 DUP8 ADD PUSH2 0xB84 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC6E DUP6 DUP3 DUP7 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xC7F DUP6 DUP3 DUP7 ADD PUSH2 0xB84 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xC92 DUP2 PUSH2 0xFBB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCA3 DUP3 PUSH2 0xF37 JUMP JUMPDEST PUSH2 0xCAD DUP2 DUP6 PUSH2 0xF42 JUMP JUMPDEST SWAP4 POP PUSH2 0xCBD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xFFE JUMP JUMPDEST PUSH2 0xCC6 DUP2 PUSH2 0x10C1 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCDE PUSH1 0x23 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xCE9 DUP3 PUSH2 0x10D2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD01 PUSH1 0x22 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xD0C DUP3 PUSH2 0x1121 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD24 PUSH1 0x1D DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xD2F DUP3 PUSH2 0x1170 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD47 PUSH1 0x26 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xD52 DUP3 PUSH2 0x1199 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD6A PUSH1 0x25 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xD75 DUP3 PUSH2 0x11E8 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD8D PUSH1 0x24 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xD98 DUP3 PUSH2 0x1237 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDB0 PUSH1 0x25 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xDBB DUP3 PUSH2 0x1286 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCF DUP2 PUSH2 0xFE7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xDDE DUP2 PUSH2 0xFF1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDF9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC89 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE19 DUP2 DUP5 PUSH2 0xC98 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE3A DUP2 PUSH2 0xCD1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE5A DUP2 PUSH2 0xCF4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE7A DUP2 PUSH2 0xD17 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE9A DUP2 PUSH2 0xD3A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEBA DUP2 PUSH2 0xD5D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEDA DUP2 PUSH2 0xD80 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEFA DUP2 PUSH2 0xDA3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF16 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF31 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDD5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF5E DUP3 PUSH2 0xFE7 JUMP JUMPDEST SWAP2 POP PUSH2 0xF69 DUP4 PUSH2 0xFE7 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xF9E JUMPI PUSH2 0xF9D PUSH2 0x1063 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFB4 DUP3 PUSH2 0xFC7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x101C JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1001 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x102B JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1049 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x105D JUMPI PUSH2 0x105C PUSH2 0x1092 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x12DE DUP2 PUSH2 0xFA9 JUMP JUMPDEST DUP2 EQ PUSH2 0x12E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x12F5 DUP2 PUSH2 0xFE7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP16 0xC6 SDIV EXTCODECOPY DUP7 0xF7 SLT SWAP1 0xEA SWAP5 0xEE 0x4E DUP9 0x2D LT PUSH10 0x38D10F3B81AE90058642 0x4A 0xC5 PUSH20 0xFBA6FB64736F6C63430008040033000000000000 ", + "sourceMap": "1403:11223:3:-:0;;;1978:113;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;2052:5;2044;:13;;;;;;;;;;;;:::i;:::-;;2077:7;2067;:17;;;;;;;;;;;;:::i;:::-;;1978:113;;1403:11223;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:354:17:-;96:5;121:66;137:49;179:6;137:49;:::i;:::-;121:66;:::i;:::-;112:75;;210:6;203:5;196:21;248:4;241:5;237:16;286:3;277:6;272:3;268:16;265:25;262:2;;;303:1;300;293:12;262:2;316:39;348:6;343:3;338;316:39;:::i;:::-;102:259;;;;;;:::o;381:288::-;448:5;497:3;490:4;482:6;478:17;474:27;464:2;;515:1;512;505:12;464:2;548:6;542:13;573:90;659:3;651:6;644:4;636:6;632:17;573:90;:::i;:::-;564:99;;454:215;;;;;:::o;675:652::-;774:6;782;831:2;819:9;810:7;806:23;802:32;799:2;;;847:1;844;837:12;799:2;911:1;900:9;896:17;890:24;941:18;933:6;930:30;927:2;;;973:1;970;963:12;927:2;1001:74;1067:7;1058:6;1047:9;1043:22;1001:74;:::i;:::-;991:84;;861:224;1145:2;1134:9;1130:18;1124:25;1176:18;1168:6;1165:30;1162:2;;;1208:1;1205;1198:12;1162:2;1236:74;1302:7;1293:6;1282:9;1278:22;1236:74;:::i;:::-;1226:84;;1095:225;789:538;;;;;:::o;1333:129::-;1367:6;1394:20;;:::i;:::-;1384:30;;1423:33;1451:4;1443:6;1423:33;:::i;:::-;1374:88;;;:::o;1468:75::-;1501:6;1534:2;1528:9;1518:19;;1508:35;:::o;1549:308::-;1611:4;1701:18;1693:6;1690:30;1687:2;;;1723:18;;:::i;:::-;1687:2;1761:29;1783:6;1761:29;:::i;:::-;1753:37;;1845:4;1839;1835:15;1827:23;;1616:241;;;:::o;1863:307::-;1931:1;1941:113;1955:6;1952:1;1949:13;1941:113;;;2040:1;2035:3;2031:11;2025:18;2021:1;2016:3;2012:11;2005:39;1977:2;1974:1;1970:10;1965:15;;1941:113;;;2072:6;2069:1;2066:13;2063:2;;;2152:1;2143:6;2138:3;2134:16;2127:27;2063:2;1912:258;;;;:::o;2176:320::-;2220:6;2257:1;2251:4;2247:12;2237:22;;2304:1;2298:4;2294:12;2325:18;2315:2;;2381:4;2373:6;2369:17;2359:27;;2315:2;2443;2435:6;2432:14;2412:18;2409:38;2406:2;;;2462:18;;:::i;:::-;2406:2;2227:269;;;;:::o;2502:281::-;2585:27;2607:4;2585:27;:::i;:::-;2577:6;2573:40;2715:6;2703:10;2700:22;2679:18;2667:10;2664:34;2661:62;2658:2;;;2726:18;;:::i;:::-;2658:2;2766:10;2762:2;2755:22;2545:238;;;:::o;2789:180::-;2837:77;2834:1;2827:88;2934:4;2931:1;2924:15;2958:4;2955:1;2948:15;2975:180;3023:77;3020:1;3013:88;3120:4;3117:1;3110:15;3144:4;3141:1;3134:15;3161:102;3202:6;3253:2;3249:7;3244:2;3237:5;3233:14;3229:28;3219:38;;3209:54;;;:::o;1403:11223:3:-;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:13266:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "59:87:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "69:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "91:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "78:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "78:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "69:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "134:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "107:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "107:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "107:33:17" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "37:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "45:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "53:5:17", + "type": "" + } + ], + "src": "7:139:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "204:87:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "214:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "236:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "223:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "223:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "214:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "279:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "252:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "252:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "252:33:17" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "182:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "190:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "198:5:17", + "type": "" + } + ], + "src": "152:139:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "363:196:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "409:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "418:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "421:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "411:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "411:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "411:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "384:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "393:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "380:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "380:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "405:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "376:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "376:32:17" + }, + "nodeType": "YulIf", + "src": "373:2:17" + }, + { + "nodeType": "YulBlock", + "src": "435:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "450:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "464:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "454:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "479:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "514:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "525:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "510:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "510:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "534:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "489:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "489:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "479:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "333:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "344:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "356:6:17", + "type": "" + } + ], + "src": "297:262:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "648:324:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "694:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "703:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "706:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "696:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "696:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "696:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "669:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "678:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "665:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "665:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "690:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "661:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "661:32:17" + }, + "nodeType": "YulIf", + "src": "658:2:17" + }, + { + "nodeType": "YulBlock", + "src": "720:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "735:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "749:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "739:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "764:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "799:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "810:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "795:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "795:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "819:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "774:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "774:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "764:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "847:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "862:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "876:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "866:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "892:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "927:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "938:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "923:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "923:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "947:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "902:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "902:53:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "892:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "610:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "621:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "633:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "641:6:17", + "type": "" + } + ], + "src": "565:407:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1078:452:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1124:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1133:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1136:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1126:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1126:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1126:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1099:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1108:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1095:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1095:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1120:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1091:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1091:32:17" + }, + "nodeType": "YulIf", + "src": "1088:2:17" + }, + { + "nodeType": "YulBlock", + "src": "1150:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1165:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1179:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1169:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1194:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1229:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1240:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1225:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1225:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1249:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1204:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1204:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1194:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1277:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1292:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1306:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1296:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1322:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1357:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1368:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1353:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1353:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1377:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1332:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1332:53:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1322:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1405:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1420:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1434:2:17", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1424:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1450:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1485:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1496:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1481:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1481:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1505:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1460:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1460:53:17" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1450:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1032:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1043:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1055:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1063:6:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "1071:6:17", + "type": "" + } + ], + "src": "978:552:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1619:324:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1665:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1674:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1677:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1667:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1667:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1667:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1640:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1649:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1636:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1636:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1661:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1632:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1632:32:17" + }, + "nodeType": "YulIf", + "src": "1629:2:17" + }, + { + "nodeType": "YulBlock", + "src": "1691:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1706:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1720:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1710:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1735:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1770:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1781:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1766:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1766:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1790:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1745:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1745:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1735:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1818:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1833:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1847:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1837:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1863:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1898:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1909:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1894:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1894:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1918:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1873:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1873:53:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1863:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1581:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1592:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1604:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1612:6:17", + "type": "" + } + ], + "src": "1536:407:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2008:50:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2025:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2045:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "2030:14:17" + }, + "nodeType": "YulFunctionCall", + "src": "2030:21:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2018:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2018:34:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2018:34:17" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1996:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2003:3:17", + "type": "" + } + ], + "src": "1949:109:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2156:272:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2166:53:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2213:5:17" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2180:32:17" + }, + "nodeType": "YulFunctionCall", + "src": "2180:39:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2170:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2228:78:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2294:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2299:6:17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2235:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "2235:71:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2228:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2341:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2348:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2337:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2337:16:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2355:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2360:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2315:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "2315:52:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2315:52:17" + }, + { + "nodeType": "YulAssignment", + "src": "2376:46:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2387:3:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2414:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2392:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "2392:29:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2383:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2383:39:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2376:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2137:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2144:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2152:3:17", + "type": "" + } + ], + "src": "2064:364:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2580:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2590:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2656:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2661:2:17", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2597:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "2597:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2590:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2762:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "nodeType": "YulIdentifier", + "src": "2673:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "2673:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2673:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "2775:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2786:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2791:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2782:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2782:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2775:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2568:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2576:3:17", + "type": "" + } + ], + "src": "2434:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2952:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2962:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3028:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3033:2:17", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2969:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "2969:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2962:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3134:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "nodeType": "YulIdentifier", + "src": "3045:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "3045:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3045:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "3147:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3158:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3163:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3154:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3154:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3147:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2940:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2948:3:17", + "type": "" + } + ], + "src": "2806:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3324:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3334:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3400:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3405:2:17", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3341:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "3341:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3334:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3506:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "nodeType": "YulIdentifier", + "src": "3417:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "3417:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3417:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "3519:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3530:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3535:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3526:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3526:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3519:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3312:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3320:3:17", + "type": "" + } + ], + "src": "3178:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3696:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3706:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3772:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3777:2:17", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3713:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "3713:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3706:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3878:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "nodeType": "YulIdentifier", + "src": "3789:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "3789:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3789:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "3891:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3902:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3907:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3898:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3898:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3891:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3684:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3692:3:17", + "type": "" + } + ], + "src": "3550:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4068:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4078:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4144:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4149:2:17", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4085:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "4085:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4078:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4250:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "nodeType": "YulIdentifier", + "src": "4161:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "4161:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4161:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "4263:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4274:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4279:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4270:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4270:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4263:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4056:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4064:3:17", + "type": "" + } + ], + "src": "3922:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4440:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4450:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4516:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4521:2:17", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4457:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "4457:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4450:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4622:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulIdentifier", + "src": "4533:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "4533:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4533:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "4635:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4646:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4651:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4642:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4642:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4635:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4428:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4436:3:17", + "type": "" + } + ], + "src": "4294:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4812:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4822:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4888:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4893:2:17", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4829:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "4829:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4822:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4994:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulIdentifier", + "src": "4905:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "4905:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4905:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "5007:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5018:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5023:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5014:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5014:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5007:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4800:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4808:3:17", + "type": "" + } + ], + "src": "4666:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5103:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5120:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5143:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5125:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "5125:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5113:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5113:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5113:37:17" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5091:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5098:3:17", + "type": "" + } + ], + "src": "5038:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5223:51:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5240:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5261:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "5245:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "5245:22:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5233:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5233:35:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5233:35:17" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5211:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5218:3:17", + "type": "" + } + ], + "src": "5162:112:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5372:118:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5382:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5394:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5405:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5390:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5390:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5382:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5456:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5469:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5480:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5465:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5465:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "5418:37:17" + }, + "nodeType": "YulFunctionCall", + "src": "5418:65:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5418:65:17" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5344:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5356:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5367:4:17", + "type": "" + } + ], + "src": "5280:210:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5614:195:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5624:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5636:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5647:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5632:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5632:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5624:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5671:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5682:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5667:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5667:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5690:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5696:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5686:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5686:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5660:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5660:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5660:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "5716:86:17", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5788:6:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5797:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5724:63:17" + }, + "nodeType": "YulFunctionCall", + "src": "5724:78:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5716:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5586:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5598:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5609:4:17", + "type": "" + } + ], + "src": "5496:313:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5986:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5996:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6008:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6019:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6004:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6004:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "5996:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6043:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6054:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6039:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6039:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6062:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6068:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6058:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6058:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6032:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6032:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6032:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "6088:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6222:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6096:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "6096:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6088:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5966:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "5981:4:17", + "type": "" + } + ], + "src": "5815:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6411:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6421:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6433:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6444:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6429:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6429:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6421:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6468:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6479:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6464:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6464:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6487:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6493:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6483:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6483:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6457:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6457:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6457:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "6513:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6647:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6521:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "6521:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6513:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6391:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6406:4:17", + "type": "" + } + ], + "src": "6240:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6836:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6846:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6858:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6869:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6854:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6854:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6846:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6893:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6904:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6889:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6889:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6912:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6918:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6908:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6908:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6882:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6882:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6882:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "6938:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7072:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6946:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "6946:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6938:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6816:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6831:4:17", + "type": "" + } + ], + "src": "6665:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7261:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7271:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7283:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7294:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7279:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7279:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7271:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7318:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7329:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7314:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7314:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7337:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7343:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7333:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7333:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7307:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7307:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7307:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "7363:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7497:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7371:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "7371:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7363:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7241:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7256:4:17", + "type": "" + } + ], + "src": "7090:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7686:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7696:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7708:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7719:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7704:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7704:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7696:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7743:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7754:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7739:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7739:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7762:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7768:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7758:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7758:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7732:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7732:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7732:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "7788:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7922:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7796:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "7796:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7788:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7666:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7681:4:17", + "type": "" + } + ], + "src": "7515:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8111:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8121:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8133:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8144:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8129:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8129:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8121:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8168:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8179:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8164:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8164:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8187:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8193:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8183:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8183:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8157:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "8157:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8157:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "8213:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8347:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8221:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "8221:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8213:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8091:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8106:4:17", + "type": "" + } + ], + "src": "7940:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8536:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8546:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8558:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8569:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8554:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8554:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8546:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8593:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8604:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8589:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8589:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8612:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8618:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8608:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8608:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8582:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "8582:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8582:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "8638:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8772:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8646:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "8646:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8638:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8516:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8531:4:17", + "type": "" + } + ], + "src": "8365:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8888:124:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8898:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8910:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8921:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8906:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8906:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8898:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "8978:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8991:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9002:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8987:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8987:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "8934:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "8934:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8934:71:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8860:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "8872:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8883:4:17", + "type": "" + } + ], + "src": "8790:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9112:120:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9122:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9134:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9145:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9130:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9130:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9122:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "9198:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9211:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9222:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9207:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9207:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "9158:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "9158:67:17" + }, + "nodeType": "YulExpressionStatement", + "src": "9158:67:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9084:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "9096:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9107:4:17", + "type": "" + } + ], + "src": "9018:214:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9297:40:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9308:22:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9324:5:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "9318:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "9318:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9308:6:17" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9280:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9290:6:17", + "type": "" + } + ], + "src": "9238:99:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9439:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9456:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "9461:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9449:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "9449:19:17" + }, + "nodeType": "YulExpressionStatement", + "src": "9449:19:17" + }, + { + "nodeType": "YulAssignment", + "src": "9477:29:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9496:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9501:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9492:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9492:14:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "9477:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9411:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "9416:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "9427:11:17", + "type": "" + } + ], + "src": "9343:169:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9562:261:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9572:25:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9595:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "9577:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "9577:20:17" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9572:1:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "9606:25:17", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9629:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "9611:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "9611:20:17" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9606:1:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9769:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "9771:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "9771:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "9771:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9690:1:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9697:66:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9765:1:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9693:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9693:74:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "9687:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "9687:81:17" + }, + "nodeType": "YulIf", + "src": "9684:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "9801:16:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "9812:1:17" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "9815:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9808:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9808:9:17" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "9801:3:17" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "9549:1:17", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "9552:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "9558:3:17", + "type": "" + } + ], + "src": "9518:305:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9874:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9884:35:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "9913:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "9895:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "9895:24:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "9884:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9856:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "9866:7:17", + "type": "" + } + ], + "src": "9829:96:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9973:48:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9983:32:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10008:5:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10001:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10001:13:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "9994:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "9994:21:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "9983:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9955:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "9965:7:17", + "type": "" + } + ], + "src": "9931:90:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10072:81:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10082:65:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10097:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10104:42:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10093:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10093:54:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "10082:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10054:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "10064:7:17", + "type": "" + } + ], + "src": "10027:126:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10204:32:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10214:16:17", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10225:5:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "10214:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10186:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "10196:7:17", + "type": "" + } + ], + "src": "10159:77:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10285:43:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10295:27:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10310:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10317:4:17", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10306:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10306:16:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "10295:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "10267:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "10277:7:17", + "type": "" + } + ], + "src": "10242:86:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10383:258:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10393:10:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10402:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "10397:1:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10462:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10487:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10492:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10483:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10483:11:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "10506:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10511:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10502:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10502:11:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10496:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "10496:18:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10476:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10476:39:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10476:39:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10423:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10426:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "10420:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "10420:13:17" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "10434:19:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10436:15:17", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10445:1:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10448:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10441:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10441:10:17" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10436:1:17" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "10416:3:17", + "statements": [] + }, + "src": "10412:113:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10559:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "10609:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10614:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10605:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10605:16:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10623:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10598:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10598:27:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10598:27:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "10540:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10543:6:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "10537:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "10537:13:17" + }, + "nodeType": "YulIf", + "src": "10534:2:17" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "10365:3:17", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "10370:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10375:6:17", + "type": "" + } + ], + "src": "10334:307:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10698:269:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10708:22:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "10722:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10728:1:17", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "10718:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10718:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10708:6:17" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "10739:38:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "10769:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10775:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10765:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10765:12:17" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "10743:18:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10816:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10830:27:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10844:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10852:4:17", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "10840:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10840:17:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10830:6:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "10796:18:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "10789:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10789:26:17" + }, + "nodeType": "YulIf", + "src": "10786:2:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10919:42:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "10933:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "10933:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10933:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "10883:18:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "10906:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10914:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "10903:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "10903:14:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "10880:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "10880:38:17" + }, + "nodeType": "YulIf", + "src": "10877:2:17" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "10682:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "10691:6:17", + "type": "" + } + ], + "src": "10647:320:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11001:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11018:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11021:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11011:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11011:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11011:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11115:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11118:4:17", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11108:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11108:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11108:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11139:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11142:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11132:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11132:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11132:15:17" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "10973:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11187:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11204:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11207:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11197:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11197:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11197:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11301:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11304:4:17", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11294:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11294:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11294:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11325:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11328:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "11318:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11318:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11318:15:17" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "11159:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11393:54:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11403:38:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11421:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11428:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11417:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11417:14:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11437:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "11433:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11433:7:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "11413:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11413:28:17" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "11403:6:17" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11376:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "11386:6:17", + "type": "" + } + ], + "src": "11345:102:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11559:116:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11581:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11589:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11577:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11577:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "11593:34:17", + "type": "", + "value": "ERC20: transfer to the zero addr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11570:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11570:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11570:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11649:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11657:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11645:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11645:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "11662:5:17", + "type": "", + "value": "ess" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11638:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11638:30:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11638:30:17" + } + ] + }, + "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "11551:6:17", + "type": "" + } + ], + "src": "11453:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11787:115:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11809:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11817:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11805:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11805:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "11821:34:17", + "type": "", + "value": "ERC20: approve to the zero addre" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11798:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11798:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11798:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "11877:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11885:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11873:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11873:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "11890:4:17", + "type": "", + "value": "ss" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11866:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11866:29:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11866:29:17" + } + ] + }, + "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "11779:6:17", + "type": "" + } + ], + "src": "11681:221:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12014:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12036:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12044:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12032:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12032:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "12048:31:17", + "type": "", + "value": "ERC20: insufficient allowance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12025:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12025:55:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12025:55:17" + } + ] + }, + "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12006:6:17", + "type": "" + } + ], + "src": "11908:179:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12199:119:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12221:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12229:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12217:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12217:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "12233:34:17", + "type": "", + "value": "ERC20: transfer amount exceeds b" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12210:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12210:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12210:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12289:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12297:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12285:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12285:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "12302:8:17", + "type": "", + "value": "alance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12278:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12278:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12278:33:17" + } + ] + }, + "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12191:6:17", + "type": "" + } + ], + "src": "12093:225:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12430:118:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12452:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12460:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12448:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12448:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "12464:34:17", + "type": "", + "value": "ERC20: transfer from the zero ad" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12441:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12441:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12441:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12520:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12528:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12516:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12516:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "12533:7:17", + "type": "", + "value": "dress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12509:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12509:32:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12509:32:17" + } + ] + }, + "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12422:6:17", + "type": "" + } + ], + "src": "12324:224:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12660:117:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12682:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12690:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12678:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12678:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "12694:34:17", + "type": "", + "value": "ERC20: approve from the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12671:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12671:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12671:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12750:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12758:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12746:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12746:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "12763:6:17", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12739:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12739:31:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12739:31:17" + } + ] + }, + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12652:6:17", + "type": "" + } + ], + "src": "12554:223:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12889:118:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12911:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12919:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12907:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12907:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "12923:34:17", + "type": "", + "value": "ERC20: decreased allowance below" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12900:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12900:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12900:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "12979:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12987:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12975:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12975:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "12992:7:17", + "type": "", + "value": " zero" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12968:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12968:32:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12968:32:17" + } + ] + }, + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "12881:6:17", + "type": "" + } + ], + "src": "12783:224:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13056:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13113:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13122:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13125:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13115:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13115:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13115:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13079:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13104:5:17" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "13086:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "13086:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "13076:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "13076:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13069:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13069:43:17" + }, + "nodeType": "YulIf", + "src": "13066:2:17" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13049:5:17", + "type": "" + } + ], + "src": "13013:122:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13184:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "13241:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13250:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13253:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13243:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13243:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13243:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13207:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13232:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "13214:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "13214:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "13204:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "13204:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13197:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13197:43:17" + }, + "nodeType": "YulIf", + "src": "13194:2:17" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13177:5:17", + "type": "" + } + ], + "src": "13141:122:17" + } + ] + }, + "contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer to the zero addr\")\n\n mstore(add(memPtr, 32), \"ess\")\n\n }\n\n function store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve to the zero addre\")\n\n mstore(add(memPtr, 32), \"ss\")\n\n }\n\n function store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: insufficient allowance\")\n\n }\n\n function store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer amount exceeds b\")\n\n mstore(add(memPtr, 32), \"alance\")\n\n }\n\n function store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer from the zero ad\")\n\n mstore(add(memPtr, 32), \"dress\")\n\n }\n\n function store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve from the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: decreased allowance below\")\n\n mstore(add(memPtr, 32), \" zero\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106100a95760003560e01c80633950935111610071578063395093511461016857806370a082311461019857806395d89b41146101c8578063a457c2d7146101e6578063a9059cbb14610216578063dd62ed3e14610246576100a9565b806306fdde03146100ae578063095ea7b3146100cc57806318160ddd146100fc57806323b872dd1461011a578063313ce5671461014a575b600080fd5b6100b6610276565b6040516100c39190610dff565b60405180910390f35b6100e660048036038101906100e19190610c4d565b610308565b6040516100f39190610de4565b60405180910390f35b61010461032b565b6040516101119190610f01565b60405180910390f35b610134600480360381019061012f9190610bfe565b610335565b6040516101419190610de4565b60405180910390f35b610152610364565b60405161015f9190610f1c565b60405180910390f35b610182600480360381019061017d9190610c4d565b61036d565b60405161018f9190610de4565b60405180910390f35b6101b260048036038101906101ad9190610b99565b610417565b6040516101bf9190610f01565b60405180910390f35b6101d061045f565b6040516101dd9190610dff565b60405180910390f35b61020060048036038101906101fb9190610c4d565b6104f1565b60405161020d9190610de4565b60405180910390f35b610230600480360381019061022b9190610c4d565b6105db565b60405161023d9190610de4565b60405180910390f35b610260600480360381019061025b9190610bc2565b6105fe565b60405161026d9190610f01565b60405180910390f35b60606003805461028590611031565b80601f01602080910402602001604051908101604052809291908181526020018280546102b190611031565b80156102fe5780601f106102d3576101008083540402835291602001916102fe565b820191906000526020600020905b8154815290600101906020018083116102e157829003601f168201915b5050505050905090565b600080610313610685565b905061032081858561068d565b600191505092915050565b6000600254905090565b600080610340610685565b905061034d858285610858565b6103588585856108e4565b60019150509392505050565b60006012905090565b600080610378610685565b905061040c818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104079190610f53565b61068d565b600191505092915050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b60606004805461046e90611031565b80601f016020809104026020016040519081016040528092919081815260200182805461049a90611031565b80156104e75780601f106104bc576101008083540402835291602001916104e7565b820191906000526020600020905b8154815290600101906020018083116104ca57829003601f168201915b5050505050905090565b6000806104fc610685565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156105c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105b990610ee1565b60405180910390fd5b6105cf828686840361068d565b60019250505092915050565b6000806105e6610685565b90506105f38185856108e4565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff1614156106fd576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106f490610ec1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff16141561076d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161076490610e41565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b9258360405161084b9190610f01565b60405180910390a3505050565b600061086484846105fe565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff81146108de57818110156108d0576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108c790610e61565b60405180910390fd5b6108dd848484840361068d565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610954576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161094b90610ea1565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109c4576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109bb90610e21565b60405180910390fd5b6109cf838383610b65565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610a55576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a4c90610e81565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610ae89190610f53565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610b4c9190610f01565b60405180910390a3610b5f848484610b6a565b50505050565b505050565b505050565b600081359050610b7e816112d5565b92915050565b600081359050610b93816112ec565b92915050565b600060208284031215610bab57600080fd5b6000610bb984828501610b6f565b91505092915050565b60008060408385031215610bd557600080fd5b6000610be385828601610b6f565b9250506020610bf485828601610b6f565b9150509250929050565b600080600060608486031215610c1357600080fd5b6000610c2186828701610b6f565b9350506020610c3286828701610b6f565b9250506040610c4386828701610b84565b9150509250925092565b60008060408385031215610c6057600080fd5b6000610c6e85828601610b6f565b9250506020610c7f85828601610b84565b9150509250929050565b610c9281610fbb565b82525050565b6000610ca382610f37565b610cad8185610f42565b9350610cbd818560208601610ffe565b610cc6816110c1565b840191505092915050565b6000610cde602383610f42565b9150610ce9826110d2565b604082019050919050565b6000610d01602283610f42565b9150610d0c82611121565b604082019050919050565b6000610d24601d83610f42565b9150610d2f82611170565b602082019050919050565b6000610d47602683610f42565b9150610d5282611199565b604082019050919050565b6000610d6a602583610f42565b9150610d75826111e8565b604082019050919050565b6000610d8d602483610f42565b9150610d9882611237565b604082019050919050565b6000610db0602583610f42565b9150610dbb82611286565b604082019050919050565b610dcf81610fe7565b82525050565b610dde81610ff1565b82525050565b6000602082019050610df96000830184610c89565b92915050565b60006020820190508181036000830152610e198184610c98565b905092915050565b60006020820190508181036000830152610e3a81610cd1565b9050919050565b60006020820190508181036000830152610e5a81610cf4565b9050919050565b60006020820190508181036000830152610e7a81610d17565b9050919050565b60006020820190508181036000830152610e9a81610d3a565b9050919050565b60006020820190508181036000830152610eba81610d5d565b9050919050565b60006020820190508181036000830152610eda81610d80565b9050919050565b60006020820190508181036000830152610efa81610da3565b9050919050565b6000602082019050610f166000830184610dc6565b92915050565b6000602082019050610f316000830184610dd5565b92915050565b600081519050919050565b600082825260208201905092915050565b6000610f5e82610fe7565b9150610f6983610fe7565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff03821115610f9e57610f9d611063565b5b828201905092915050565b6000610fb482610fc7565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b8381101561101c578082015181840152602081019050611001565b8381111561102b576000848401525b50505050565b6000600282049050600182168061104957607f821691505b6020821081141561105d5761105c611092565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b6112de81610fa9565b81146112e957600080fd5b50565b6112f581610fe7565b811461130057600080fd5b5056fea26469706673582212208fc6053c86f71290ea94ee4e882d106938d10f3b81ae900586424ac573fba6fb64736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xA9 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x39509351 GT PUSH2 0x71 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x168 JUMPI DUP1 PUSH4 0x70A08231 EQ PUSH2 0x198 JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x1C8 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x1E6 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x216 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x246 JUMPI PUSH2 0xA9 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xAE JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0xCC JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0xFC JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x11A JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x14A JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0xB6 PUSH2 0x276 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xC3 SWAP2 SWAP1 PUSH2 0xDFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0xE6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0xE1 SWAP2 SWAP1 PUSH2 0xC4D JUMP JUMPDEST PUSH2 0x308 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0xF3 SWAP2 SWAP1 PUSH2 0xDE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x104 PUSH2 0x32B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x111 SWAP2 SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x134 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12F SWAP2 SWAP1 PUSH2 0xBFE JUMP JUMPDEST PUSH2 0x335 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x141 SWAP2 SWAP1 PUSH2 0xDE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x152 PUSH2 0x364 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15F SWAP2 SWAP1 PUSH2 0xF1C JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x182 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17D SWAP2 SWAP1 PUSH2 0xC4D JUMP JUMPDEST PUSH2 0x36D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18F SWAP2 SWAP1 PUSH2 0xDE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1B2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1AD SWAP2 SWAP1 PUSH2 0xB99 JUMP JUMPDEST PUSH2 0x417 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1BF SWAP2 SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1D0 PUSH2 0x45F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DD SWAP2 SWAP1 PUSH2 0xDFF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x200 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1FB SWAP2 SWAP1 PUSH2 0xC4D JUMP JUMPDEST PUSH2 0x4F1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x20D SWAP2 SWAP1 PUSH2 0xDE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x230 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x22B SWAP2 SWAP1 PUSH2 0xC4D JUMP JUMPDEST PUSH2 0x5DB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23D SWAP2 SWAP1 PUSH2 0xDE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x260 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x25B SWAP2 SWAP1 PUSH2 0xBC2 JUMP JUMPDEST PUSH2 0x5FE JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x26D SWAP2 SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x285 SWAP1 PUSH2 0x1031 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2B1 SWAP1 PUSH2 0x1031 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2FE JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2D3 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2FE JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2E1 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x313 PUSH2 0x685 JUMP JUMPDEST SWAP1 POP PUSH2 0x320 DUP2 DUP6 DUP6 PUSH2 0x68D JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x340 PUSH2 0x685 JUMP JUMPDEST SWAP1 POP PUSH2 0x34D DUP6 DUP3 DUP6 PUSH2 0x858 JUMP JUMPDEST PUSH2 0x358 DUP6 DUP6 DUP6 PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x378 PUSH2 0x685 JUMP JUMPDEST SWAP1 POP PUSH2 0x40C DUP2 DUP6 DUP6 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x407 SWAP2 SWAP1 PUSH2 0xF53 JUMP JUMPDEST PUSH2 0x68D JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x46E SWAP1 PUSH2 0x1031 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x49A SWAP1 PUSH2 0x1031 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x4E7 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x4BC JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x4E7 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x4CA JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x4FC PUSH2 0x685 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x5C2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x5B9 SWAP1 PUSH2 0xEE1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x5CF DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0x68D JUMP JUMPDEST PUSH1 0x1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x5E6 PUSH2 0x685 JUMP JUMPDEST SWAP1 POP PUSH2 0x5F3 DUP2 DUP6 DUP6 PUSH2 0x8E4 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x6FD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x6F4 SWAP1 PUSH2 0xEC1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x76D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x764 SWAP1 PUSH2 0xE41 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP4 PUSH1 0x40 MLOAD PUSH2 0x84B SWAP2 SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x864 DUP5 DUP5 PUSH2 0x5FE JUMP JUMPDEST SWAP1 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0x8DE JUMPI DUP2 DUP2 LT ISZERO PUSH2 0x8D0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8C7 SWAP1 PUSH2 0xE61 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x8DD DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0x68D JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x954 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x94B SWAP1 PUSH2 0xEA1 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x9C4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9BB SWAP1 PUSH2 0xE21 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x9CF DUP4 DUP4 DUP4 PUSH2 0xB65 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0xA55 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA4C SWAP1 PUSH2 0xE81 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xAE8 SWAP2 SWAP1 PUSH2 0xF53 JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xB4C SWAP2 SWAP1 PUSH2 0xF01 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xB5F DUP5 DUP5 DUP5 PUSH2 0xB6A JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB7E DUP2 PUSH2 0x12D5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0xB93 DUP2 PUSH2 0x12EC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0xBAB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xBB9 DUP5 DUP3 DUP6 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xBD5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xBE3 DUP6 DUP3 DUP7 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xBF4 DUP6 DUP3 DUP7 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0xC13 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC21 DUP7 DUP3 DUP8 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0xC32 DUP7 DUP3 DUP8 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0xC43 DUP7 DUP3 DUP8 ADD PUSH2 0xB84 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0xC60 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0xC6E DUP6 DUP3 DUP7 ADD PUSH2 0xB6F JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0xC7F DUP6 DUP3 DUP7 ADD PUSH2 0xB84 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0xC92 DUP2 PUSH2 0xFBB JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCA3 DUP3 PUSH2 0xF37 JUMP JUMPDEST PUSH2 0xCAD DUP2 DUP6 PUSH2 0xF42 JUMP JUMPDEST SWAP4 POP PUSH2 0xCBD DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0xFFE JUMP JUMPDEST PUSH2 0xCC6 DUP2 PUSH2 0x10C1 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCDE PUSH1 0x23 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xCE9 DUP3 PUSH2 0x10D2 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD01 PUSH1 0x22 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xD0C DUP3 PUSH2 0x1121 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD24 PUSH1 0x1D DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xD2F DUP3 PUSH2 0x1170 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD47 PUSH1 0x26 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xD52 DUP3 PUSH2 0x1199 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD6A PUSH1 0x25 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xD75 DUP3 PUSH2 0x11E8 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xD8D PUSH1 0x24 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xD98 DUP3 PUSH2 0x1237 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xDB0 PUSH1 0x25 DUP4 PUSH2 0xF42 JUMP JUMPDEST SWAP2 POP PUSH2 0xDBB DUP3 PUSH2 0x1286 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xDCF DUP2 PUSH2 0xFE7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0xDDE DUP2 PUSH2 0xFF1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xDF9 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xC89 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE19 DUP2 DUP5 PUSH2 0xC98 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE3A DUP2 PUSH2 0xCD1 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE5A DUP2 PUSH2 0xCF4 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE7A DUP2 PUSH2 0xD17 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xE9A DUP2 PUSH2 0xD3A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEBA DUP2 PUSH2 0xD5D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEDA DUP2 PUSH2 0xD80 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0xEFA DUP2 PUSH2 0xDA3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF16 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDC6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0xF31 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0xDD5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xF5E DUP3 PUSH2 0xFE7 JUMP JUMPDEST SWAP2 POP PUSH2 0xF69 DUP4 PUSH2 0xFE7 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0xF9E JUMPI PUSH2 0xF9D PUSH2 0x1063 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xFB4 DUP3 PUSH2 0xFC7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x101C JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x1001 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x102B JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1049 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x105D JUMPI PUSH2 0x105C PUSH2 0x1092 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x12DE DUP2 PUSH2 0xFA9 JUMP JUMPDEST DUP2 EQ PUSH2 0x12E9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x12F5 DUP2 PUSH2 0xFE7 JUMP JUMPDEST DUP2 EQ PUSH2 0x1300 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP16 0xC6 SDIV EXTCODECOPY DUP7 0xF7 SLT SWAP1 0xEA SWAP5 0xEE 0x4E DUP9 0x2D LT PUSH10 0x38D10F3B81AE90058642 0x4A 0xC5 PUSH20 0xFBA6FB64736F6C63430008040033000000000000 ", + "sourceMap": "1403:11223:3:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4433:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3244:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5192:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3093:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5873:236;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3408:125;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2367:102;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6596:429;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3729:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3976:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2156:98;2210:13;2242:5;2235:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98;:::o;4433:197::-;4516:4;4532:13;4548:12;:10;:12::i;:::-;4532:28;;4570:32;4579:5;4586:7;4595:6;4570:8;:32::i;:::-;4619:4;4612:11;;;4433:197;;;;:::o;3244:106::-;3305:7;3331:12;;3324:19;;3244:106;:::o;5192:286::-;5319:4;5335:15;5353:12;:10;:12::i;:::-;5335:30;;5375:38;5391:4;5397:7;5406:6;5375:15;:38::i;:::-;5423:27;5433:4;5439:2;5443:6;5423:9;:27::i;:::-;5467:4;5460:11;;;5192:286;;;;;:::o;3093:91::-;3151:5;3175:2;3168:9;;3093:91;:::o;5873:236::-;5961:4;5977:13;5993:12;:10;:12::i;:::-;5977:28;;6015:66;6024:5;6031:7;6070:10;6040:11;:18;6052:5;6040:18;;;;;;;;;;;;;;;:27;6059:7;6040:27;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;6015:8;:66::i;:::-;6098:4;6091:11;;;5873:236;;;;:::o;3408:125::-;3482:7;3508:9;:18;3518:7;3508:18;;;;;;;;;;;;;;;;3501:25;;3408:125;;;:::o;2367:102::-;2423:13;2455:7;2448:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:102;:::o;6596:429::-;6689:4;6705:13;6721:12;:10;:12::i;:::-;6705:28;;6743:24;6770:11;:18;6782:5;6770:18;;;;;;;;;;;;;;;:27;6789:7;6770:27;;;;;;;;;;;;;;;;6743:54;;6835:15;6815:16;:35;;6807:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6926:60;6935:5;6942:7;6970:15;6951:16;:34;6926:8;:60::i;:::-;7014:4;7007:11;;;;6596:429;;;;:::o;3729:189::-;3808:4;3824:13;3840:12;:10;:12::i;:::-;3824:28;;3862;3872:5;3879:2;3883:6;3862:9;:28::i;:::-;3907:4;3900:11;;;3729:189;;;;:::o;3976:149::-;4065:7;4091:11;:18;4103:5;4091:18;;;;;;;;;;;;;;;:27;4110:7;4091:27;;;;;;;;;;;;;;;;4084:34;;3976:149;;;;:::o;640:96:8:-;693:7;719:10;712:17;;640:96;:::o;10123:370:3:-;10271:1;10254:19;;:5;:19;;;;10246:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10351:1;10332:21;;:7;:21;;;;10324:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10433:6;10403:11;:18;10415:5;10403:18;;;;;;;;;;;;;;;:27;10422:7;10403:27;;;;;;;;;;;;;;;:36;;;;10470:7;10454:32;;10463:5;10454:32;;;10479:6;10454:32;;;;;;:::i;:::-;;;;;;;;10123:370;;;:::o;10770:441::-;10900:24;10927:25;10937:5;10944:7;10927:9;:25::i;:::-;10900:52;;10986:17;10966:16;:37;10962:243;;11047:6;11027:16;:26;;11019:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11129:51;11138:5;11145:7;11173:6;11154:16;:25;11129:8;:51::i;:::-;10962:243;10770:441;;;;:::o;7488:651::-;7630:1;7614:18;;:4;:18;;;;7606:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7706:1;7692:16;;:2;:16;;;;7684:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7759:38;7780:4;7786:2;7790:6;7759:20;:38::i;:::-;7808:19;7830:9;:15;7840:4;7830:15;;;;;;;;;;;;;;;;7808:37;;7878:6;7863:11;:21;;7855:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7993:6;7979:11;:20;7961:9;:15;7971:4;7961:15;;;;;;;;;;;;;;;:38;;;;8036:6;8019:9;:13;8029:2;8019:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;8073:2;8058:26;;8067:4;8058:26;;;8077:6;8058:26;;;;;;:::i;:::-;;;;;;;;8095:37;8115:4;8121:2;8125:6;8095:19;:37::i;:::-;7488:651;;;;:::o;11795:121::-;;;;:::o;12504:120::-;;;;:::o;7:139:17:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;1055:6;1063;1071;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;1604:6;1612;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:109::-;2030:21;2045:5;2030:21;:::i;:::-;2025:3;2018:34;2008:50;;:::o;2064:364::-;2152:3;2180:39;2213:5;2180:39;:::i;:::-;2235:71;2299:6;2294:3;2235:71;:::i;:::-;2228:78;;2315:52;2360:6;2355:3;2348:4;2341:5;2337:16;2315:52;:::i;:::-;2392:29;2414:6;2392:29;:::i;:::-;2387:3;2383:39;2376:46;;2156:272;;;;;:::o;2434:366::-;2576:3;2597:67;2661:2;2656:3;2597:67;:::i;:::-;2590:74;;2673:93;2762:3;2673:93;:::i;:::-;2791:2;2786:3;2782:12;2775:19;;2580:220;;;:::o;2806:366::-;2948:3;2969:67;3033:2;3028:3;2969:67;:::i;:::-;2962:74;;3045:93;3134:3;3045:93;:::i;:::-;3163:2;3158:3;3154:12;3147:19;;2952:220;;;:::o;3178:366::-;3320:3;3341:67;3405:2;3400:3;3341:67;:::i;:::-;3334:74;;3417:93;3506:3;3417:93;:::i;:::-;3535:2;3530:3;3526:12;3519:19;;3324:220;;;:::o;3550:366::-;3692:3;3713:67;3777:2;3772:3;3713:67;:::i;:::-;3706:74;;3789:93;3878:3;3789:93;:::i;:::-;3907:2;3902:3;3898:12;3891:19;;3696:220;;;:::o;3922:366::-;4064:3;4085:67;4149:2;4144:3;4085:67;:::i;:::-;4078:74;;4161:93;4250:3;4161:93;:::i;:::-;4279:2;4274:3;4270:12;4263:19;;4068:220;;;:::o;4294:366::-;4436:3;4457:67;4521:2;4516:3;4457:67;:::i;:::-;4450:74;;4533:93;4622:3;4533:93;:::i;:::-;4651:2;4646:3;4642:12;4635:19;;4440:220;;;:::o;4666:366::-;4808:3;4829:67;4893:2;4888:3;4829:67;:::i;:::-;4822:74;;4905:93;4994:3;4905:93;:::i;:::-;5023:2;5018:3;5014:12;5007:19;;4812:220;;;:::o;5038:118::-;5125:24;5143:5;5125:24;:::i;:::-;5120:3;5113:37;5103:53;;:::o;5162:112::-;5245:22;5261:5;5245:22;:::i;:::-;5240:3;5233:35;5223:51;;:::o;5280:210::-;5367:4;5405:2;5394:9;5390:18;5382:26;;5418:65;5480:1;5469:9;5465:17;5456:6;5418:65;:::i;:::-;5372:118;;;;:::o;5496:313::-;5609:4;5647:2;5636:9;5632:18;5624:26;;5696:9;5690:4;5686:20;5682:1;5671:9;5667:17;5660:47;5724:78;5797:4;5788:6;5724:78;:::i;:::-;5716:86;;5614:195;;;;:::o;5815:419::-;5981:4;6019:2;6008:9;6004:18;5996:26;;6068:9;6062:4;6058:20;6054:1;6043:9;6039:17;6032:47;6096:131;6222:4;6096:131;:::i;:::-;6088:139;;5986:248;;;:::o;6240:419::-;6406:4;6444:2;6433:9;6429:18;6421:26;;6493:9;6487:4;6483:20;6479:1;6468:9;6464:17;6457:47;6521:131;6647:4;6521:131;:::i;:::-;6513:139;;6411:248;;;:::o;6665:419::-;6831:4;6869:2;6858:9;6854:18;6846:26;;6918:9;6912:4;6908:20;6904:1;6893:9;6889:17;6882:47;6946:131;7072:4;6946:131;:::i;:::-;6938:139;;6836:248;;;:::o;7090:419::-;7256:4;7294:2;7283:9;7279:18;7271:26;;7343:9;7337:4;7333:20;7329:1;7318:9;7314:17;7307:47;7371:131;7497:4;7371:131;:::i;:::-;7363:139;;7261:248;;;:::o;7515:419::-;7681:4;7719:2;7708:9;7704:18;7696:26;;7768:9;7762:4;7758:20;7754:1;7743:9;7739:17;7732:47;7796:131;7922:4;7796:131;:::i;:::-;7788:139;;7686:248;;;:::o;7940:419::-;8106:4;8144:2;8133:9;8129:18;8121:26;;8193:9;8187:4;8183:20;8179:1;8168:9;8164:17;8157:47;8221:131;8347:4;8221:131;:::i;:::-;8213:139;;8111:248;;;:::o;8365:419::-;8531:4;8569:2;8558:9;8554:18;8546:26;;8618:9;8612:4;8608:20;8604:1;8593:9;8589:17;8582:47;8646:131;8772:4;8646:131;:::i;:::-;8638:139;;8536:248;;;:::o;8790:222::-;8883:4;8921:2;8910:9;8906:18;8898:26;;8934:71;9002:1;8991:9;8987:17;8978:6;8934:71;:::i;:::-;8888:124;;;;:::o;9018:214::-;9107:4;9145:2;9134:9;9130:18;9122:26;;9158:67;9222:1;9211:9;9207:17;9198:6;9158:67;:::i;:::-;9112:120;;;;:::o;9238:99::-;9290:6;9324:5;9318:12;9308:22;;9297:40;;;:::o;9343:169::-;9427:11;9461:6;9456:3;9449:19;9501:4;9496:3;9492:14;9477:29;;9439:73;;;;:::o;9518:305::-;9558:3;9577:20;9595:1;9577:20;:::i;:::-;9572:25;;9611:20;9629:1;9611:20;:::i;:::-;9606:25;;9765:1;9697:66;9693:74;9690:1;9687:81;9684:2;;;9771:18;;:::i;:::-;9684:2;9815:1;9812;9808:9;9801:16;;9562:261;;;;:::o;9829:96::-;9866:7;9895:24;9913:5;9895:24;:::i;:::-;9884:35;;9874:51;;;:::o;9931:90::-;9965:7;10008:5;10001:13;9994:21;9983:32;;9973:48;;;:::o;10027:126::-;10064:7;10104:42;10097:5;10093:54;10082:65;;10072:81;;;:::o;10159:77::-;10196:7;10225:5;10214:16;;10204:32;;;:::o;10242:86::-;10277:7;10317:4;10310:5;10306:16;10295:27;;10285:43;;;:::o;10334:307::-;10402:1;10412:113;10426:6;10423:1;10420:13;10412:113;;;10511:1;10506:3;10502:11;10496:18;10492:1;10487:3;10483:11;10476:39;10448:2;10445:1;10441:10;10436:15;;10412:113;;;10543:6;10540:1;10537:13;10534:2;;;10623:1;10614:6;10609:3;10605:16;10598:27;10534:2;10383:258;;;;:::o;10647:320::-;10691:6;10728:1;10722:4;10718:12;10708:22;;10775:1;10769:4;10765:12;10796:18;10786:2;;10852:4;10844:6;10840:17;10830:27;;10786:2;10914;10906:6;10903:14;10883:18;10880:38;10877:2;;;10933:18;;:::i;:::-;10877:2;10698:269;;;;:::o;10973:180::-;11021:77;11018:1;11011:88;11118:4;11115:1;11108:15;11142:4;11139:1;11132:15;11159:180;11207:77;11204:1;11197:88;11304:4;11301:1;11294:15;11328:4;11325:1;11318:15;11345:102;11386:6;11437:2;11433:7;11428:2;11421:5;11417:14;11413:28;11403:38;;11393:54;;;:::o;11453:222::-;11593:34;11589:1;11581:6;11577:14;11570:58;11662:5;11657:2;11649:6;11645:15;11638:30;11559:116;:::o;11681:221::-;11821:34;11817:1;11809:6;11805:14;11798:58;11890:4;11885:2;11877:6;11873:15;11866:29;11787:115;:::o;11908:179::-;12048:31;12044:1;12036:6;12032:14;12025:55;12014:73;:::o;12093:225::-;12233:34;12229:1;12221:6;12217:14;12210:58;12302:8;12297:2;12289:6;12285:15;12278:33;12199:119;:::o;12324:224::-;12464:34;12460:1;12452:6;12448:14;12441:58;12533:7;12528:2;12520:6;12516:15;12509:32;12430:118;:::o;12554:223::-;12694:34;12690:1;12682:6;12678:14;12671:58;12763:6;12758:2;12750:6;12746:15;12739:31;12660:117;:::o;12783:224::-;12923:34;12919:1;12911:6;12907:14;12900:58;12992:7;12987:2;12979:6;12975:15;12968:32;12889:118;:::o;13013:122::-;13086:24;13104:5;13086:24;:::i;:::-;13079:5;13076:35;13066:2;;13125:1;13122;13115:12;13066:2;13056:79;:::o;13141:122::-;13214:24;13232:5;13214:24;:::i;:::-;13207:5;13204:35;13194:2;;13253:1;13250;13243:12;13194:2;13184:79;:::o" + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "decreaseAllowance(address,uint256)": "a457c2d7", + "increaseAllowance(address,uint256)": "39509351", + "name()": "06fdde03", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"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\":\"amount\",\"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\":{\"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}. For a generic mechanism see {ERC20PresetMinterPauser}. TIP: For a detailed writeup see our guide https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How to implement supply mechanisms]. 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 ERC20 applications. Additionally, an {Approval} event is emitted on calls to {transferFrom}. This allows applications to reconstruct the allowance for all accounts just by listening to said events. Other implementations of the EIP may not emit these events, as it isn't required by the specification. Finally, the non-standard {decreaseAllowance} and {increaseAllowance} functions have been added to mitigate the well-known issues around setting allowances. See {IERC20-approve}.\",\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` 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\":\"See {IERC20-balanceOf}.\"},\"constructor\":{\"details\":\"Sets the values for {name} and {symbol}. The default value of {decimals} is 18. To select a different value for {decimals} you should overload it. All two of these 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 value {ERC20} uses, unless this function is 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}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"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\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":\"ERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xdadd41acb749920eccf40aeaa8d291adf9751399a7343561bad13e7a8d99be0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12af4ac016f9fdf3be5d15824f4292272aa11f6b2e0192a0f7320f5ad49bbbf0\",\"dweb:/ipfs/QmRXMpdqCgA3TYuYxBodqs5p9jGbnMW6xa2gvjppvq4TWk\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "IERC20": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "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" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"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\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"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 `amount` 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 amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` 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 `amount` tokens from `from` to `to` using the allowance mechanism. `amount` 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\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "IERC20Metadata": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "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": "amount", + "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" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "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" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"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\":\"amount\",\"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\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"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 `amount` 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 amount 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 amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` 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 `amount` tokens from `from` to `to` using the allowance mechanism. `amount` 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\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "IERC721": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": { + "IERC721Enumerable": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "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": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "tokenByIndex(uint256)": "4f6ccce7", + "tokenOfOwnerByIndex(address,uint256)": "2f745c59", + "totalSupply()": "18160ddd", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional enumeration extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":\"IERC721Enumerable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Context.sol": { + "Context": { + "abi": [], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"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\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Counters.sol": { + "Counters": { + "abi": [], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122087233479b9bbafbc7c6db009668432640924d650db7356e7ca306f22fef990a564736f6c63430008040033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP8 0x23 CALLVALUE PUSH26 0xB9BBAFBC7C6DB009668432640924D650DB7356E7CA306F22FEF9 SWAP1 0xA5 PUSH5 0x736F6C6343 STOP ADDMOD DIV STOP CALLER ", + "sourceMap": "424:971:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122087233479b9bbafbc7c6db009668432640924d650db7356e7ca306f22fef990a564736f6c63430008040033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP8 0x23 CALLVALUE PUSH26 0xB9BBAFBC7C6DB009668432640924D650DB7356E7CA306F22FEF9 SWAP1 0xA5 PUSH5 0x736F6C6343 STOP ADDMOD DIV STOP CALLER ", + "sourceMap": "424:971:9:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. Include with `using Counters for Counters.Counter;`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Counters\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Counters.sol\":\"Counters\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "Strings": { + "abi": [], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201041067283afbf6e9fbf233452e8cda06774dc4d789a56746522cd2b25c5479564736f6c63430008040033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LT COINBASE MOD PUSH19 0x83AFBF6E9FBF233452E8CDA06774DC4D789A56 PUSH21 0x6522CD2B25C5479564736F6C634300080400330000 ", + "sourceMap": "146:1885:10:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201041067283afbf6e9fbf233452e8cda06774dc4d789a56746522cd2b25c5479564736f6c63430008040033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LT COINBASE MOD PUSH19 0x83AFBF6E9FBF233452E8CDA06774DC4D789A56 PUSH21 0x6522CD2B25C5479564736F6C634300080400330000 ", + "sourceMap": "146:1885:10:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"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\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "IERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"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 ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. 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[EIP 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\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "contracts/TGPassport.sol": { + "TGPassport": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int64", + "name": "from", + "type": "int64" + }, + { + "indexed": true, + "internalType": "int64", + "name": "to", + "type": "int64" + }, + { + "indexed": false, + "internalType": "bool", + "name": "trust", + "type": "bool" + } + ], + "name": "TrustChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "wallet_address", + "type": "address" + } + ], + "name": "passportApplied", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "wallet_address", + "type": "address" + } + ], + "name": "passportAppliedIndexed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "wallet_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "issuer", + "type": "address" + } + ], + "name": "passportApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "wallet", + "type": "address" + } + ], + "name": "passportDenied", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "internalType": "string", + "name": "user_name_", + "type": "string" + } + ], + "name": "ApplyForPassport", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "passportToApprove", + "type": "address" + } + ], + "name": "ApprovePassport", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "passportToDecline", + "type": "address" + } + ], + "name": "DeclinePassport", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "passportToDecline", + "type": "address" + } + ], + "name": "DeletePassport", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "GetOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user_wallet", + "type": "address" + } + ], + "name": "GetPassportByAddress", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "int64", + "name": "tgId", + "type": "int64" + }, + { + "internalType": "bool", + "name": "valid", + "type": "bool" + }, + { + "internalType": "address", + "name": "validatorAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "userName", + "type": "string" + } + ], + "internalType": "struct TGPassport.Passport", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "user_name_", + "type": "string" + } + ], + "name": "GetPassportByNickName", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "int64", + "name": "tgId", + "type": "int64" + }, + { + "internalType": "bool", + "name": "valid", + "type": "bool" + }, + { + "internalType": "address", + "name": "validatorAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "userName", + "type": "string" + } + ], + "internalType": "struct TGPassport.Passport", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "tgId_", + "type": "int64" + } + ], + "name": "GetPassportByTgId", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "int64", + "name": "tgId", + "type": "int64" + }, + { + "internalType": "bool", + "name": "valid", + "type": "bool" + }, + { + "internalType": "address", + "name": "validatorAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "userName", + "type": "string" + } + ], + "internalType": "struct TGPassport.Passport", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "GetPassportFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "tgId_", + "type": "int64" + } + ], + "name": "GetPassportWalletByID", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user_wallet", + "type": "address" + } + ], + "name": "GetTgIdByAddress", + "outputs": [ + { + "internalType": "int64", + "name": "tgid", + "type": "int64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "from", + "type": "int64" + }, + { + "internalType": "int64", + "name": "to", + "type": "int64" + } + ], + "name": "GetTrust", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "user_name_", + "type": "string" + } + ], + "name": "GetWalletByNickName", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "passportFee_", + "type": "uint256" + } + ], + "name": "SetPassportFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "from", + "type": "int64" + }, + { + "internalType": "int64", + "name": "to", + "type": "int64" + }, + { + "internalType": "bool", + "name": "trust", + "type": "bool" + } + ], + "name": "SetTrustToID", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "new_user_name_", + "type": "string" + } + ], + "name": "UpdateUserName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "opinion_changed", + "outputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "passports", + "outputs": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "int64", + "name": "tgId", + "type": "int64" + }, + { + "internalType": "bool", + "name": "valid", + "type": "bool" + }, + { + "internalType": "address", + "name": "validatorAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "userName", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "name": "tgIdToAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + }, + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "name": "trust_global", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "username_wallets", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b5062000032620000266200009160201b60201c565b6200009960201b60201c565b6103e86001819055506200004b6200015d60201b60201c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000186565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61348780620001966000396000f3fe60806040526004361061014b5760003560e01c80636a8ec05e116100b6578063b910c8981161006f578063b910c898146104ee578063d2114e1814610517578063d2125bd214610554578063d5998aeb1461057d578063e37c132b14610599578063f2fde38b146105da5761014b565b80636a8ec05e146103cc578063715018a6146104095780638da5cb5b146104205780639413c6421461044b5780639421da6114610488578063b25047c2146104b15761014b565b806348dc15611161010857806348dc1561146102845780634ac054bb146102af57806359cca93b146102ec57806361cabe371461032957806365104afc1461036657806365a5637e1461038f5761014b565b80630ae50a39146101505780630c2fc6e31461017b5780631423ea07146101b85780631755e9e6146101f557806321e6531d1461021e578063239f60fa14610247575b600080fd5b34801561015c57600080fd5b50610165610603565b6040516101729190612d30565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612876565b61062d565b6040516101af9190612d30565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da919061284d565b610670565b6040516101ec9190612f84565b60405180910390f35b34801561020157600080fd5b5061021c6004803603810190610217919061284d565b610845565b005b34801561022a57600080fd5b50610245600480360381019061024091906129ba565b610c93565b005b34801561025357600080fd5b5061026e6004803603810190610269919061289f565b610e5f565b60405161027b9190612da5565b60405180910390f35b34801561029057600080fd5b50610299610e8e565b6040516102a69190612fa6565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d1919061289f565b610e98565b6040516102e39190612da5565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e91906129ba565b610ee0565b6040516103209190612d30565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b919061284d565b610f29565b60405161035d9190612dc0565b60405180910390f35b34801561037257600080fd5b5061038d6004803603810190610388919061284d565b610f44565b005b34801561039b57600080fd5b506103b660048036038101906103b19190612876565b6112b6565b6040516103c39190612f84565b60405180910390f35b3480156103d857600080fd5b506103f360048036038101906103ee919061297e565b611499565b6040516104009190612dc0565b60405180910390f35b34801561041557600080fd5b5061041e6114df565b005b34801561042c57600080fd5b50610435611567565b6040516104429190612d30565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d9190612876565b611590565b60405161047f9190612d30565b60405180910390f35b34801561049457600080fd5b506104af60048036038101906104aa919061284d565b6115c3565b005b3480156104bd57600080fd5b506104d860048036038101906104d391906129ba565b611982565b6040516104e59190612f84565b60405180910390f35b3480156104fa57600080fd5b50610515600480360381019061051091906128db565b611b65565b005b34801561052357600080fd5b5061053e600480360381019061053991906129ba565b611d71565b60405161054b9190612d30565b60405180910390f35b34801561056057600080fd5b5061057b600480360381019061057691906129fb565b611db9565b005b6105976004803603810190610592919061292a565b611e3f565b005b3480156105a557600080fd5b506105c060048036038101906105bb919061284d565b612176565b6040516105d1959493929190612d4b565b60405180910390f35b3480156105e657600080fd5b5061060160048036038101906105fc919061284d565b61228e565b005b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600360008360070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61067861264e565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820180546107b8906130f1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e4906130f1565b80156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b505050505081525050905080915050919050565b61084d612386565b73ffffffffffffffffffffffffffffffffffffffff1661086b611567565b73ffffffffffffffffffffffffffffffffffffffff16146108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b890612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054610964906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054610990906130f1565b80156109dd5780601f106109b2576101008083540402835291602001916109dd565b820191906000526020600020905b8154815290600101906020018083116109c057829003601f168201915b5050505050905060001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001601c9054906101000a900460ff16151514610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190612f64565b60405180910390fd5b60011515600660008460070b60070b815260200190815260200160002060008460070b60070b815260200190815260200160002060009054906101000a905050506040518060a001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018360070b81526020016001151581526020013373ffffffffffffffffffffffffffffffffffffffff16815260200182815250600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002019080519060200190610c4f9291906126ae565b509050507fddda54aebd53f1c2d3f35d7107ddd15f71b313a804dda2179cded44927110cd0828433604051610c8693929190612e04565b60405180910390a1505050565b6000610c9e33610670565b90503373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614610d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0990612f04565b60405180910390fd5b81816080018190525080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002019080519060200190610e579291906126ae565b509050505050565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b6000600154905090565b6000600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060009054906101000a900460ff16905092915050565b6005818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610f3583610670565b90508060200151915050919050565b610f4c612386565b73ffffffffffffffffffffffffffffffffffffffff16610f6a611567565b73ffffffffffffffffffffffffffffffffffffffff1614610fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb790612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054611063906130f1565b80601f016020809104026020016040519081016040528092919081815260200182805461108f906130f1565b80156110dc5780601f106110b1576101008083540402835291602001916110dc565b820191906000526020600020905b8154815290600101906020018083116110bf57829003601f168201915b5050505050905060004690506005811461112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112290612f44565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006111f89190612734565b5050600360008460070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005826040516112469190612d04565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f0511bec3ed97c7099362d7e7b0ed4fe8afe6f448a0dcf73f258be48dceb302db83856040516112a8929190612ddb565b60405180910390a150505050565b6112be61264e565b60006112c98361062d565b90506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461140b906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054611437906130f1565b80156114845780601f1061145957610100808354040283529160200191611484565b820191906000526020600020905b81548152906001019060200180831161146757829003601f168201915b50505050508152505090508092505050919050565b600760205281600052604060002081815481106114b557600080fd5b9060005260206000209060049182820401919006600802915091509054906101000a900460070b81565b6114e7612386565b73ffffffffffffffffffffffffffffffffffffffff16611505611567565b73ffffffffffffffffffffffffffffffffffffffff161461155b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155290612f24565b60405180910390fd5b611565600061238e565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115cb612386565b73ffffffffffffffffffffffffffffffffffffffff166115e9611567565b73ffffffffffffffffffffffffffffffffffffffff161461163f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163690612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020180546116e2906130f1565b80601f016020809104026020016040519081016040528092919081815260200182805461170e906130f1565b801561175b5780601f106117305761010080835404028352916020019161175b565b820191906000526020600020905b81548152906001019060200180831161173e57829003601f168201915b5050505050905060001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001601c9054906101000a900460ff161515146117f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ef90612f64565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006118c59190612734565b5050600360008360070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005816040516119139190612d04565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f0511bec3ed97c7099362d7e7b0ed4fe8afe6f448a0dcf73f258be48dceb302db8284604051611975929190612ddb565b60405180910390a1505050565b61198a61264e565b600061199583611d71565b90506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282018054611ad7906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054611b03906130f1565b8015611b505780601f10611b2557610100808354040283529160200191611b50565b820191906000526020600020905b815481529060010190602001808311611b3357829003601f168201915b50505050508152505090508092505050919050565b6000611b70846112b6565b90506000816000015190503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be090612ee4565b60405180910390fd5b600115158315151415611cb257611c008585612452565b600760008660070b60070b81526020019081526020016000208490806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055508360070b7fb3ca43859da7280c9b07097e86cb568999c37fb4232a15e7ffbae5c6921c2bef8685604051611ca5929190612e3b565b60405180910390a2611d6a565b611cbc858561249f565b600760008660070b60070b81526020019081526020016000208490806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055508360070b7fb3ca43859da7280c9b07097e86cb568999c37fb4232a15e7ffbae5c6921c2bef8685604051611d61929190612e3b565b60405180910390a25b5050505050565b6000600582604051611d839190612d04565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611dc1612386565b73ffffffffffffffffffffffffffffffffffffffff16611ddf611567565b73ffffffffffffffffffffffffffffffffffffffff1614611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c90612f24565b60405180910390fd5b8060018190555050565b6000339050611e4f8382846124ec565b6001543414611e93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8a90612ec4565b60405180910390fd5b6040518060a001604052808273ffffffffffffffffffffffffffffffffffffffff1681526020018460070b8152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200183815250600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160020190805190602001906120289291906126ae565b509050507fcb042d04619e497175f63ce8ec9b9127cb0bf344facc37db4fe8492c2ecfbb9e833360405161205d929190612ddb565b60405180910390a18260070b7f2d329f0d038ded94203a58e5be2f2f41b14cbbc49cc1f89443696606f104658c336040516120989190612d30565b60405180910390a26000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001546040516120ea90612d1b565b60006040518083038185875af1925050503d8060008114612127576040519150601f19603f3d011682016040523d82523d6000602084013e61212c565b606091505b5050905080612170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216790612e84565b60405180910390fd5b50505050565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600201805461220b906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054612237906130f1565b80156122845780601f1061225957610100808354040283529160200191612284565b820191906000526020600020905b81548152906001019060200180831161226757829003601f168201915b5050505050905085565b612296612386565b73ffffffffffffffffffffffffffffffffffffffff166122b4611567565b73ffffffffffffffffffffffffffffffffffffffff161461230a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230190612f24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561237a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237190612e64565b60405180910390fd5b6123838161238e565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff16600360008560070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258b90612ea4565b60405180910390fd5b81600360008560070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816005826040516125fd9190612d04565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600060070b8152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8280546126ba906130f1565b90600052602060002090601f0160209004810192826126dc5760008555612723565b82601f106126f557805160ff1916838001178555612723565b82800160010185558215612723579182015b82811115612722578251825591602001919060010190612707565b5b5090506127309190612774565b5090565b508054612740906130f1565b6000825580601f106127525750612771565b601f0160209004906000526020600020908101906127709190612774565b5b50565b5b8082111561278d576000816000905550600101612775565b5090565b60006127a461279f84612fe6565b612fc1565b9050828152602081018484840111156127bc57600080fd5b6127c78482856130af565b509392505050565b6000813590506127de816133f5565b92915050565b6000813590506127f38161340c565b92915050565b60008135905061280881613423565b92915050565b600082601f83011261281f57600080fd5b813561282f848260208601612791565b91505092915050565b6000813590506128478161343a565b92915050565b60006020828403121561285f57600080fd5b600061286d848285016127cf565b91505092915050565b60006020828403121561288857600080fd5b6000612896848285016127f9565b91505092915050565b600080604083850312156128b257600080fd5b60006128c0858286016127f9565b92505060206128d1858286016127f9565b9150509250929050565b6000806000606084860312156128f057600080fd5b60006128fe868287016127f9565b935050602061290f868287016127f9565b9250506040612920868287016127e4565b9150509250925092565b6000806040838503121561293d57600080fd5b600061294b858286016127f9565b925050602083013567ffffffffffffffff81111561296857600080fd5b6129748582860161280e565b9150509250929050565b6000806040838503121561299157600080fd5b600061299f858286016127f9565b92505060206129b085828601612838565b9150509250929050565b6000602082840312156129cc57600080fd5b600082013567ffffffffffffffff8111156129e657600080fd5b6129f28482850161280e565b91505092915050565b600060208284031215612a0d57600080fd5b6000612a1b84828501612838565b91505092915050565b612a2d8161305a565b82525050565b612a3c8161305a565b82525050565b612a4b8161306c565b82525050565b612a5a8161306c565b82525050565b612a6981613078565b82525050565b612a7881613078565b82525050565b6000612a8982613017565b612a93818561302d565b9350612aa38185602086016130be565b612aac816131b2565b840191505092915050565b6000612ac282613017565b612acc818561303e565b9350612adc8185602086016130be565b612ae5816131b2565b840191505092915050565b6000612afb82613017565b612b05818561304f565b9350612b158185602086016130be565b80840191505092915050565b6000612b2e60268361303e565b9150612b39826131c3565b604082019050919050565b6000612b5160168361303e565b9150612b5c82613212565b602082019050919050565b6000612b7460308361303e565b9150612b7f8261323b565b604082019050919050565b6000612b9760188361303e565b9150612ba28261328a565b602082019050919050565b6000612bba60408361303e565b9150612bc5826132b3565b604082019050919050565b6000612bdd601f8361303e565b9150612be882613302565b602082019050919050565b6000612c0060208361303e565b9150612c0b8261332b565b602082019050919050565b6000612c2360258361303e565b9150612c2e82613354565b604082019050919050565b6000612c4660258361303e565b9150612c51826133a3565b604082019050919050565b6000612c69600083613022565b9150612c74826133f2565b600082019050919050565b600060a083016000830151612c976000860182612a24565b506020830151612caa6020860182612a60565b506040830151612cbd6040860182612a42565b506060830151612cd06060860182612a24565b5060808301518482036080860152612ce88282612a7e565b9150508091505092915050565b612cfe816130a5565b82525050565b6000612d108284612af0565b915081905092915050565b6000612d2682612c5c565b9150819050919050565b6000602082019050612d456000830184612a33565b92915050565b600060a082019050612d606000830188612a33565b612d6d6020830187612a6f565b612d7a6040830186612a51565b612d876060830185612a33565b8181036080830152612d998184612ab7565b90509695505050505050565b6000602082019050612dba6000830184612a51565b92915050565b6000602082019050612dd56000830184612a6f565b92915050565b6000604082019050612df06000830185612a6f565b612dfd6020830184612a33565b9392505050565b6000606082019050612e196000830186612a6f565b612e266020830185612a33565b612e336040830184612a33565b949350505050565b6000604082019050612e506000830185612a6f565b612e5d6020830184612a51565b9392505050565b60006020820190508181036000830152612e7d81612b21565b9050919050565b60006020820190508181036000830152612e9d81612b44565b9050919050565b60006020820190508181036000830152612ebd81612b67565b9050919050565b60006020820190508181036000830152612edd81612b8a565b9050919050565b60006020820190508181036000830152612efd81612bad565b9050919050565b60006020820190508181036000830152612f1d81612bd0565b9050919050565b60006020820190508181036000830152612f3d81612bf3565b9050919050565b60006020820190508181036000830152612f5d81612c16565b9050919050565b60006020820190508181036000830152612f7d81612c39565b9050919050565b60006020820190508181036000830152612f9e8184612c7f565b905092915050565b6000602082019050612fbb6000830184612cf5565b92915050565b6000612fcb612fdc565b9050612fd78282613123565b919050565b6000604051905090565b600067ffffffffffffffff82111561300157613000613183565b5b61300a826131b2565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061306582613085565b9050919050565b60008115159050919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156130dc5780820151818401526020810190506130c1565b838111156130eb576000848401525b50505050565b6000600282049050600182168061310957607f821691505b6020821081141561311d5761311c613154565b5b50919050565b61312c826131b2565b810181811067ffffffffffffffff8211171561314b5761314a613183565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f54686572652773206164647265737320636f6e6e656374656420746f2074686160008201527f7420544720494420616c72656164792e00000000000000000000000000000000602082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f596f75722063757272656e742061646472657373206d69736d6174636820776960008201527f746820796f7572207265676973747265642077616c6c65742061646472657373602082015250565b7f796f7520646f6e2774206e6f77206f776e207468697320757365726e616d6500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f746869732066756e6374696f6e20776f726b2773206f6e6c7920666f7220746560008201527f73746e6574000000000000000000000000000000000000000000000000000000602082015250565b7f616c726561647920617070726f766564204f5220646f206e6f7420657869737460008201527f7320796574000000000000000000000000000000000000000000000000000000602082015250565b50565b6133fe8161305a565b811461340957600080fd5b50565b6134158161306c565b811461342057600080fd5b50565b61342c81613078565b811461343757600080fd5b50565b613443816130a5565b811461344e57600080fd5b5056fea2646970667358221220249dd1622c29a32d14d6e13c05efa7dc646f37ce9e788f47c9eabbf86d8d2a6d64736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x32 PUSH3 0x26 PUSH3 0x91 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x99 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x3E8 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH3 0x4B PUSH3 0x15D PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x186 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3487 DUP1 PUSH3 0x196 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6A8EC05E GT PUSH2 0xB6 JUMPI DUP1 PUSH4 0xB910C898 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xB910C898 EQ PUSH2 0x4EE JUMPI DUP1 PUSH4 0xD2114E18 EQ PUSH2 0x517 JUMPI DUP1 PUSH4 0xD2125BD2 EQ PUSH2 0x554 JUMPI DUP1 PUSH4 0xD5998AEB EQ PUSH2 0x57D JUMPI DUP1 PUSH4 0xE37C132B EQ PUSH2 0x599 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x5DA JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x6A8EC05E EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x409 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x420 JUMPI DUP1 PUSH4 0x9413C642 EQ PUSH2 0x44B JUMPI DUP1 PUSH4 0x9421DA61 EQ PUSH2 0x488 JUMPI DUP1 PUSH4 0xB25047C2 EQ PUSH2 0x4B1 JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x48DC1561 GT PUSH2 0x108 JUMPI DUP1 PUSH4 0x48DC1561 EQ PUSH2 0x284 JUMPI DUP1 PUSH4 0x4AC054BB EQ PUSH2 0x2AF JUMPI DUP1 PUSH4 0x59CCA93B EQ PUSH2 0x2EC JUMPI DUP1 PUSH4 0x61CABE37 EQ PUSH2 0x329 JUMPI DUP1 PUSH4 0x65104AFC EQ PUSH2 0x366 JUMPI DUP1 PUSH4 0x65A5637E EQ PUSH2 0x38F JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0xAE50A39 EQ PUSH2 0x150 JUMPI DUP1 PUSH4 0xC2FC6E3 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x1423EA07 EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x1755E9E6 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x21E6531D EQ PUSH2 0x21E JUMPI DUP1 PUSH4 0x239F60FA EQ PUSH2 0x247 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x165 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x172 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x187 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19D SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AF SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DA SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x670 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EC SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x217 SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x845 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x245 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x240 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xC93 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x269 SWAP2 SWAP1 PUSH2 0x289F JUMP JUMPDEST PUSH2 0xE5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27B SWAP2 SWAP1 PUSH2 0x2DA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x290 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x299 PUSH2 0xE8E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A6 SWAP2 SWAP1 PUSH2 0x2FA6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D1 SWAP2 SWAP1 PUSH2 0x289F JUMP JUMPDEST PUSH2 0xE98 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E3 SWAP2 SWAP1 PUSH2 0x2DA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x313 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30E SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xEE0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x320 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x335 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x350 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x34B SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x35D SWAP2 SWAP1 PUSH2 0x2DC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x372 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x38D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x388 SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0xF44 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x39B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B1 SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x12B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C3 SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EE SWAP2 SWAP1 PUSH2 0x297E JUMP JUMPDEST PUSH2 0x1499 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x400 SWAP2 SWAP1 PUSH2 0x2DC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x415 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x41E PUSH2 0x14DF JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x1567 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x442 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x472 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x46D SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x1590 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x47F SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x494 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4AF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4AA SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x15C3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4D3 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0x1982 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4E5 SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x515 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x510 SWAP2 SWAP1 PUSH2 0x28DB JUMP JUMPDEST PUSH2 0x1B65 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x523 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x53E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x539 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x54B SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x560 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x576 SWAP2 SWAP1 PUSH2 0x29FB JUMP JUMPDEST PUSH2 0x1DB9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x597 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x592 SWAP2 SWAP1 PUSH2 0x292A JUMP JUMPDEST PUSH2 0x1E3F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5C0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5BB SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x2176 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2D4B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x601 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5FC SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x228E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x678 PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x7B8 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E4 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x831 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x806 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x831 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x814 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x84D PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x86B PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x8C1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8B8 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x964 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x990 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x9DD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9B2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x9DD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9C0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0xA7A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA71 SWAP1 PUSH2 0x2F64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 POP POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xC4F SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xDDDA54AEBD53F1C2D3F35D7107DDD15F71B313A804DDA2179CDED44927110CD0 DUP3 DUP5 CALLER PUSH1 0x40 MLOAD PUSH2 0xC86 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC9E CALLER PUSH2 0x670 JUMP JUMPDEST SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD12 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD09 SWAP1 PUSH2 0x2F04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x80 ADD DUP2 SWAP1 MSTORE POP DUP1 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xE57 SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x5 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF35 DUP4 PUSH2 0x670 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x20 ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF4C PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xF6A PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xFC0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFB7 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x1063 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x108F SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x10DC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x10B1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x10DC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x10BF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 CHAINID SWAP1 POP PUSH1 0x5 DUP2 EQ PUSH2 0x112B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1122 SWAP1 PUSH2 0x2F44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x11F8 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST POP POP PUSH1 0x3 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1246 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0x511BEC3ED97C7099362D7E7B0ED4FE8AFE6F448A0DCF73F258BE48DCEB302DB DUP4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x12A8 SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH2 0x12BE PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12C9 DUP4 PUSH2 0x62D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x140B SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1437 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1484 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1459 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1484 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1467 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x14B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP2 POP SWAP2 POP SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND DUP2 JUMP JUMPDEST PUSH2 0x14E7 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1505 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x155B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1552 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1565 PUSH1 0x0 PUSH2 0x238E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x15CB PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x15E9 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x163F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1636 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x16E2 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x170E SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x175B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1730 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x175B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x173E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x17EF SWAP1 PUSH2 0x2F64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x18C5 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST POP POP PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x5 DUP2 PUSH1 0x40 MLOAD PUSH2 0x1913 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0x511BEC3ED97C7099362D7E7B0ED4FE8AFE6F448A0DCF73F258BE48DCEB302DB DUP3 DUP5 PUSH1 0x40 MLOAD PUSH2 0x1975 SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x198A PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1995 DUP4 PUSH2 0x1D71 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x1AD7 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1B03 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B50 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B25 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B50 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B33 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B70 DUP5 PUSH2 0x12B6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1BE9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BE0 SWAP1 PUSH2 0x2EE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 ISZERO ISZERO DUP4 ISZERO ISZERO EQ ISZERO PUSH2 0x1CB2 JUMPI PUSH2 0x1C00 DUP6 DUP6 PUSH2 0x2452 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP7 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x7 SIGNEXTEND PUSH32 0xB3CA43859DA7280C9B07097E86CB568999C37FB4232A15E7FFBAE5C6921C2BEF DUP7 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1CA5 SWAP3 SWAP2 SWAP1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH2 0x1D6A JUMP JUMPDEST PUSH2 0x1CBC DUP6 DUP6 PUSH2 0x249F JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP7 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x7 SIGNEXTEND PUSH32 0xB3CA43859DA7280C9B07097E86CB568999C37FB4232A15E7FFBAE5C6921C2BEF DUP7 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1D61 SWAP3 SWAP2 SWAP1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1D83 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DC1 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1DDF PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1E35 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E2C SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP PUSH2 0x1E4F DUP4 DUP3 DUP5 PUSH2 0x24EC JUMP JUMPDEST PUSH1 0x1 SLOAD CALLVALUE EQ PUSH2 0x1E93 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E8A SWAP1 PUSH2 0x2EC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2028 SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xCB042D04619E497175F63CE8EC9B9127CB0BF344FACC37DB4FE8492C2ECFBB9E DUP4 CALLER PUSH1 0x40 MLOAD PUSH2 0x205D SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP3 PUSH1 0x7 SIGNEXTEND PUSH32 0x2D329F0D038DED94203A58E5BE2F2F41B14CBBC49CC1F89443696606F104658C CALLER PUSH1 0x40 MLOAD PUSH2 0x2098 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH2 0x20EA SWAP1 PUSH2 0x2D1B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2127 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x212C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x2170 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2167 SWAP1 PUSH2 0x2E84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x220B SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2237 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2284 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2259 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2284 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2267 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP6 JUMP JUMPDEST PUSH2 0x2296 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x22B4 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x230A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2301 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x237A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2371 SWAP1 PUSH2 0x2E64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2383 DUP2 PUSH2 0x238E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP6 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2594 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x258B SWAP1 PUSH2 0x2EA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x25FD SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x26BA SWAP1 PUSH2 0x30F1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x26DC JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2723 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x26F5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2723 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2723 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2722 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2707 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2730 SWAP2 SWAP1 PUSH2 0x2774 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x2740 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x2752 JUMPI POP PUSH2 0x2771 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2770 SWAP2 SWAP1 PUSH2 0x2774 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x278D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2775 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27A4 PUSH2 0x279F DUP5 PUSH2 0x2FE6 JUMP JUMPDEST PUSH2 0x2FC1 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x27BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x27C7 DUP5 DUP3 DUP6 PUSH2 0x30AF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27DE DUP2 PUSH2 0x33F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27F3 DUP2 PUSH2 0x340C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2808 DUP2 PUSH2 0x3423 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x281F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x282F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2791 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2847 DUP2 PUSH2 0x343A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x285F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x286D DUP5 DUP3 DUP6 ADD PUSH2 0x27CF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2888 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2896 DUP5 DUP3 DUP6 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x28B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x28C0 DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x28D1 DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x28F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x28FE DUP7 DUP3 DUP8 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x290F DUP7 DUP3 DUP8 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2920 DUP7 DUP3 DUP8 ADD PUSH2 0x27E4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x293D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x294B DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2974 DUP6 DUP3 DUP7 ADD PUSH2 0x280E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2991 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x299F DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x29B0 DUP6 DUP3 DUP7 ADD PUSH2 0x2838 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x29F2 DUP5 DUP3 DUP6 ADD PUSH2 0x280E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A1B DUP5 DUP3 DUP6 ADD PUSH2 0x2838 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2A2D DUP2 PUSH2 0x305A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A3C DUP2 PUSH2 0x305A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A4B DUP2 PUSH2 0x306C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A5A DUP2 PUSH2 0x306C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A69 DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A78 DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A89 DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2A93 DUP2 DUP6 PUSH2 0x302D JUMP JUMPDEST SWAP4 POP PUSH2 0x2AA3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST PUSH2 0x2AAC DUP2 PUSH2 0x31B2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AC2 DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2ACC DUP2 DUP6 PUSH2 0x303E JUMP JUMPDEST SWAP4 POP PUSH2 0x2ADC DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST PUSH2 0x2AE5 DUP2 PUSH2 0x31B2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AFB DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2B05 DUP2 DUP6 PUSH2 0x304F JUMP JUMPDEST SWAP4 POP PUSH2 0x2B15 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B2E PUSH1 0x26 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B39 DUP3 PUSH2 0x31C3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B51 PUSH1 0x16 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B5C DUP3 PUSH2 0x3212 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B74 PUSH1 0x30 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B7F DUP3 PUSH2 0x323B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B97 PUSH1 0x18 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BA2 DUP3 PUSH2 0x328A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BBA PUSH1 0x40 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BC5 DUP3 PUSH2 0x32B3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BDD PUSH1 0x1F DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BE8 DUP3 PUSH2 0x3302 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C00 PUSH1 0x20 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C0B DUP3 PUSH2 0x332B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C23 PUSH1 0x25 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C2E DUP3 PUSH2 0x3354 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C46 PUSH1 0x25 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C51 DUP3 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C69 PUSH1 0x0 DUP4 PUSH2 0x3022 JUMP JUMPDEST SWAP2 POP PUSH2 0x2C74 DUP3 PUSH2 0x33F2 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x2C97 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x2A24 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2CAA PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x2A60 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x2CBD PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x2A42 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x2CD0 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x2A24 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x80 DUP7 ADD MSTORE PUSH2 0x2CE8 DUP3 DUP3 PUSH2 0x2A7E JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2CFE DUP2 PUSH2 0x30A5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D10 DUP3 DUP5 PUSH2 0x2AF0 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D26 DUP3 PUSH2 0x2C5C JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2D45 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2D60 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2A33 JUMP JUMPDEST PUSH2 0x2D6D PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2D7A PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2A51 JUMP JUMPDEST PUSH2 0x2D87 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2A33 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x2D99 DUP2 DUP5 PUSH2 0x2AB7 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DBA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A51 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DD5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A6F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2DF0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2DFD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2E19 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2E26 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2A33 JUMP JUMPDEST PUSH2 0x2E33 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2E50 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2E5D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2A51 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E7D DUP2 PUSH2 0x2B21 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E9D DUP2 PUSH2 0x2B44 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EBD DUP2 PUSH2 0x2B67 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EDD DUP2 PUSH2 0x2B8A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EFD DUP2 PUSH2 0x2BAD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F1D DUP2 PUSH2 0x2BD0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F3D DUP2 PUSH2 0x2BF3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F5D DUP2 PUSH2 0x2C16 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F7D DUP2 PUSH2 0x2C39 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F9E DUP2 DUP5 PUSH2 0x2C7F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FBB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2CF5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FCB PUSH2 0x2FDC JUMP JUMPDEST SWAP1 POP PUSH2 0x2FD7 DUP3 DUP3 PUSH2 0x3123 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3001 JUMPI PUSH2 0x3000 PUSH2 0x3183 JUMP JUMPDEST JUMPDEST PUSH2 0x300A DUP3 PUSH2 0x31B2 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3065 DUP3 PUSH2 0x3085 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x7 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x30DC JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x30C1 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x30EB JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3109 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x311D JUMPI PUSH2 0x311C PUSH2 0x3154 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x312C DUP3 PUSH2 0x31B2 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x314B JUMPI PUSH2 0x314A PUSH2 0x3183 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E61626C6520746F207472616E736665722066656500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x54686572652773206164647265737320636F6E6E656374656420746F20746861 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420544720494420616C72656164792E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x50617373706F727420666565206973206E6F7420706169640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x596F75722063757272656E742061646472657373206D69736D61746368207769 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x746820796F7572207265676973747265642077616C6C65742061646472657373 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x796F7520646F6E2774206E6F77206F776E207468697320757365726E616D6500 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x746869732066756E6374696F6E20776F726B2773206F6E6C7920666F72207465 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x73746E6574000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x616C726561647920617070726F766564204F5220646F206E6F74206578697374 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7320796574000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x33FE DUP2 PUSH2 0x305A JUMP JUMPDEST DUP2 EQ PUSH2 0x3409 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3415 DUP2 PUSH2 0x306C JUMP JUMPDEST DUP2 EQ PUSH2 0x3420 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x342C DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP2 EQ PUSH2 0x3437 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3443 DUP2 PUSH2 0x30A5 JUMP JUMPDEST DUP2 EQ PUSH2 0x344E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x24 SWAP14 0xD1 PUSH3 0x2C29A3 0x2D EQ 0xD6 0xE1 EXTCODECOPY SDIV 0xEF 0xA7 0xDC PUSH5 0x6F37CE9E78 DUP16 SELFBALANCE 0xC9 0xEA 0xBB 0xF8 PUSH14 0x8D2A6D64736F6C63430008040033 ", + "sourceMap": "384:8607:13:-:0;;;1862:114;;;;;;;;;;921:32:2;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;1909:8:13::1;1894:12;:23;;;;1963:7;:5;;;:7;;:::i;:::-;1954:6;;:16;;;;;;;;;;;;;;;;;;384:8607:::0;;640:96:8;693:7;719:10;712:17;;640:96;:::o;2270:187:2:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2270:187;;:::o;1036:85::-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;384:8607:13:-;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:24652:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "91:261:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "101:75:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "168:6:17" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "126:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "126:49:17" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "110:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "110:66:17" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "101:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "192:5:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "199:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "185:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "185:21:17" + }, + "nodeType": "YulExpressionStatement", + "src": "185:21:17" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "215:27:17", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "230:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "237:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "226:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "226:16:17" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "219:3:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "280:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "289:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "292:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "282:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "282:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "282:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "261:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "266:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "257:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "257:16:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "275:3:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "254:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "254:25:17" + }, + "nodeType": "YulIf", + "src": "251:2:17" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "329:3:17" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "334:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "339:6:17" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "305:23:17" + }, + "nodeType": "YulFunctionCall", + "src": "305:41:17" + }, + "nodeType": "YulExpressionStatement", + "src": "305:41:17" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "64:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "69:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "77:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "85:5:17", + "type": "" + } + ], + "src": "7:345:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "410:87:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "420:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "442:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "429:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "429:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "420:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "485:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "458:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "458:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "458:33:17" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "388:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "396:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "404:5:17", + "type": "" + } + ], + "src": "358:139:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "552:84:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "562:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "584:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "571:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "571:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "562:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "624:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "600:23:17" + }, + "nodeType": "YulFunctionCall", + "src": "600:30:17" + }, + "nodeType": "YulExpressionStatement", + "src": "600:30:17" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "530:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "538:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "546:5:17", + "type": "" + } + ], + "src": "503:133:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "692:85:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "702:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "724:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "711:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "711:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "702:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "765:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_int64", + "nodeType": "YulIdentifier", + "src": "740:24:17" + }, + "nodeType": "YulFunctionCall", + "src": "740:31:17" + }, + "nodeType": "YulExpressionStatement", + "src": "740:31:17" + } + ] + }, + "name": "abi_decode_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "670:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "678:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "686:5:17", + "type": "" + } + ], + "src": "642:135:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "859:211:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "908:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "917:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "920:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "910:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "910:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "910:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "887:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "895:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "883:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "883:17:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "902:3:17" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "879:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "879:27:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "872:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "872:35:17" + }, + "nodeType": "YulIf", + "src": "869:2:17" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "933:34:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "960:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "947:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "947:20:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "937:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "976:88:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1037:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1045:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1033:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1033:17:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1052:6:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1060:3:17" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "985:47:17" + }, + "nodeType": "YulFunctionCall", + "src": "985:79:17" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "976:5:17" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "837:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "845:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "853:5:17", + "type": "" + } + ], + "src": "797:273:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1128:87:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1138:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1160:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1147:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "1147:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1138:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1203:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1176:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "1176:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1176:33:17" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1106:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1114:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1122:5:17", + "type": "" + } + ], + "src": "1076:139:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1287:196:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1333:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1342:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1345:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1335:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1335:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1335:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1308:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1317:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1304:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1304:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1329:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1300:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1300:32:17" + }, + "nodeType": "YulIf", + "src": "1297:2:17" + }, + { + "nodeType": "YulBlock", + "src": "1359:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1374:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1388:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1378:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1403:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1438:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1449:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1434:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1434:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1458:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1413:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1413:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1403:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1257:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1268:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1280:6:17", + "type": "" + } + ], + "src": "1221:262:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1553:194:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1599:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1608:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1611:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1601:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1601:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1601:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1574:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1583:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1570:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1570:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1595:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1566:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1566:32:17" + }, + "nodeType": "YulIf", + "src": "1563:2:17" + }, + { + "nodeType": "YulBlock", + "src": "1625:115:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1640:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1654:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1644:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1669:61:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1702:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1713:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1698:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1698:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1722:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "1679:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "1679:51:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1669:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1523:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1534:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1546:6:17", + "type": "" + } + ], + "src": "1489:258:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1832:320:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1878:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1887:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1890:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1880:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1880:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1880:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1853:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1862:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1849:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1849:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1874:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1845:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1845:32:17" + }, + "nodeType": "YulIf", + "src": "1842:2:17" + }, + { + "nodeType": "YulBlock", + "src": "1904:115:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1919:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1933:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1923:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1948:61:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1981:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1992:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1977:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1977:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2001:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "1958:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "1958:51:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1948:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2029:116:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2044:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2058:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2048:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2074:61:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2107:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2118:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2103:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2103:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2127:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "2084:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "2084:51:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2074:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1794:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1805:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1817:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1825:6:17", + "type": "" + } + ], + "src": "1753:399:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2251:445:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2297:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2306:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2309:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2299:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2299:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2299:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2272:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2281:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2268:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2268:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2293:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2264:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2264:32:17" + }, + "nodeType": "YulIf", + "src": "2261:2:17" + }, + { + "nodeType": "YulBlock", + "src": "2323:115:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2338:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2352:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2342:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2367:61:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2400:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2411:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2396:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2396:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2420:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "2377:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "2377:51:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2367:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2448:116:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2463:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2477:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2467:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2493:61:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2526:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2537:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2522:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2522:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2546:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "2503:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "2503:51:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2493:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2574:115:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2589:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2603:2:17", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2593:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2619:60:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2651:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2662:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2647:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2647:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2671:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "2629:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "2629:50:17" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "2619:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64t_int64t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2205:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2216:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2228:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2236:6:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "2244:6:17", + "type": "" + } + ], + "src": "2158:538:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2793:425:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2839:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2848:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2851:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2841:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2841:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2841:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2814:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2823:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2810:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2810:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2835:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2806:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2806:32:17" + }, + "nodeType": "YulIf", + "src": "2803:2:17" + }, + { + "nodeType": "YulBlock", + "src": "2865:115:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2880:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2894:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2884:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2909:61:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2942:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2953:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2938:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2938:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2962:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "2919:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "2919:51:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2909:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2990:221:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3005:46:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3036:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3047:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3032:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3032:18:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3019:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "3019:32:17" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3009:6:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3098:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3107:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3110:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3100:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3100:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3100:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3070:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3078:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3067:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "3067:30:17" + }, + "nodeType": "YulIf", + "src": "3064:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "3128:73:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3173:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3184:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3169:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3169:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3193:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3138:30:17" + }, + "nodeType": "YulFunctionCall", + "src": "3138:63:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3128:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2755:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2766:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2778:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2786:6:17", + "type": "" + } + ], + "src": "2702:516:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3305:322:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3351:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3360:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3363:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3353:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3353:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3353:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3326:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3335:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3322:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3322:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3347:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3318:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3318:32:17" + }, + "nodeType": "YulIf", + "src": "3315:2:17" + }, + { + "nodeType": "YulBlock", + "src": "3377:115:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3392:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3406:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3396:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3421:61:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3454:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3465:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3450:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3450:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3474:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "3431:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "3431:51:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3421:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3502:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3517:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3531:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3521:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3547:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3582:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3593:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3578:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3578:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3602:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "3557:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "3557:53:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3547:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3267:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3278:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3290:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3298:6:17", + "type": "" + } + ], + "src": "3224:403:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3709:299:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3755:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3764:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3767:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3757:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3757:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3757:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3730:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3739:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3726:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3726:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3751:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3722:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3722:32:17" + }, + "nodeType": "YulIf", + "src": "3719:2:17" + }, + { + "nodeType": "YulBlock", + "src": "3781:220:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3796:45:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3827:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3838:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3823:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3823:17:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3810:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "3810:31:17" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3800:6:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3888:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3897:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3900:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3890:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3890:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3890:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3860:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3868:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3857:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "3857:30:17" + }, + "nodeType": "YulIf", + "src": "3854:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "3918:73:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3963:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3974:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3959:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3959:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3983:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3928:30:17" + }, + "nodeType": "YulFunctionCall", + "src": "3928:63:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3918:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3679:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3690:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3702:6:17", + "type": "" + } + ], + "src": "3633:375:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4080:196:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4126:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4135:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4138:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4128:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4128:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4128:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4101:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4110:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4097:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4097:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4122:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4093:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4093:32:17" + }, + "nodeType": "YulIf", + "src": "4090:2:17" + }, + { + "nodeType": "YulBlock", + "src": "4152:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4167:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4181:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4171:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4196:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4231:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4242:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4227:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4227:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4251:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4206:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "4206:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4196:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4050:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4061:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4073:6:17", + "type": "" + } + ], + "src": "4014:262:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4337:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4354:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4377:5:17" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "4359:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "4359:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4347:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4347:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4347:37:17" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4325:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4332:3:17", + "type": "" + } + ], + "src": "4282:108:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4461:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4478:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4501:5:17" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "4483:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "4483:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4471:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4471:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4471:37:17" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4449:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4456:3:17", + "type": "" + } + ], + "src": "4396:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4569:50:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4586:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4606:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "4591:14:17" + }, + "nodeType": "YulFunctionCall", + "src": "4591:21:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4579:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4579:34:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4579:34:17" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4557:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4564:3:17", + "type": "" + } + ], + "src": "4520:99:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4684:50:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4701:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4721:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "4706:14:17" + }, + "nodeType": "YulFunctionCall", + "src": "4706:21:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4694:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4694:34:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4694:34:17" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4672:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4679:3:17", + "type": "" + } + ], + "src": "4625:109:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4791:51:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4808:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4829:5:17" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "4813:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "4813:22:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4801:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4801:35:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4801:35:17" + } + ] + }, + "name": "abi_encode_t_int64_to_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4779:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4786:3:17", + "type": "" + } + ], + "src": "4740:102:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4909:51:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4926:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4947:5:17" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "4931:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "4931:22:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4919:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4919:35:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4919:35:17" + } + ] + }, + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4897:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4904:3:17", + "type": "" + } + ], + "src": "4848:112:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5048:262:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5058:53:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5105:5:17" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5072:32:17" + }, + "nodeType": "YulFunctionCall", + "src": "5072:39:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5062:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5120:68:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5176:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5181:6:17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5127:48:17" + }, + "nodeType": "YulFunctionCall", + "src": "5127:61:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5120:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5223:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5230:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5219:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5219:16:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5237:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5242:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "5197:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "5197:52:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5197:52:17" + }, + { + "nodeType": "YulAssignment", + "src": "5258:46:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5269:3:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5296:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "5274:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "5274:29:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5265:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5265:39:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5258:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5029:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5036:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5044:3:17", + "type": "" + } + ], + "src": "4966:344:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5408:272:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5418:53:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5465:5:17" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5432:32:17" + }, + "nodeType": "YulFunctionCall", + "src": "5432:39:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5422:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5480:78:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5546:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5551:6:17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5487:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "5487:71:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5480:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5593:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5600:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5589:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5589:16:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5607:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5612:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "5567:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "5567:52:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5567:52:17" + }, + { + "nodeType": "YulAssignment", + "src": "5628:46:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5639:3:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5666:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "5644:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "5644:29:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5635:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5635:39:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5628:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5389:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5396:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5404:3:17", + "type": "" + } + ], + "src": "5316:364:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5796:267:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5806:53:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5853:5:17" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5820:32:17" + }, + "nodeType": "YulFunctionCall", + "src": "5820:39:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5810:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5868:96:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5952:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5957:6:17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "5875:76:17" + }, + "nodeType": "YulFunctionCall", + "src": "5875:89:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5868:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5999:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6006:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5995:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5995:16:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6013:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6018:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "5973:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "5973:52:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5973:52:17" + }, + { + "nodeType": "YulAssignment", + "src": "6034:23:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6045:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6050:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6041:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6041:16:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6034:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5777:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5784:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5792:3:17", + "type": "" + } + ], + "src": "5686:377:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6215:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6225:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6291:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6296:2:17", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6232:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "6232:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6225:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6397:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulIdentifier", + "src": "6308:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "6308:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6308:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "6410:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6421:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6426:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6417:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6417:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6410:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6203:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6211:3:17", + "type": "" + } + ], + "src": "6069:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6587:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6597:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6663:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6668:2:17", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6604:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "6604:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6597:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6769:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "nodeType": "YulIdentifier", + "src": "6680:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "6680:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6680:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "6782:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6793:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6798:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6789:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6789:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6782:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6575:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6583:3:17", + "type": "" + } + ], + "src": "6441:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6959:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6969:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7035:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7040:2:17", + "type": "", + "value": "48" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6976:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "6976:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6969:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7141:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4", + "nodeType": "YulIdentifier", + "src": "7052:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "7052:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7052:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "7154:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7165:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7170:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7161:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7161:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7154:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6947:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6955:3:17", + "type": "" + } + ], + "src": "6813:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7331:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7341:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7407:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7412:2:17", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7348:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "7348:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7341:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7513:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "nodeType": "YulIdentifier", + "src": "7424:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "7424:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7424:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "7526:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7537:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7542:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7533:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7533:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7526:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7319:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7327:3:17", + "type": "" + } + ], + "src": "7185:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7703:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7713:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7779:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7784:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7720:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "7720:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7713:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7885:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a", + "nodeType": "YulIdentifier", + "src": "7796:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "7796:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7796:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "7898:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7909:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7914:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7905:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7905:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7898:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7691:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7699:3:17", + "type": "" + } + ], + "src": "7557:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8075:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8085:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8151:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8156:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8092:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "8092:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8085:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8257:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2", + "nodeType": "YulIdentifier", + "src": "8168:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "8168:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8168:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "8270:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8281:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8286:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8277:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8277:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8270:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8063:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8071:3:17", + "type": "" + } + ], + "src": "7929:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8447:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8457:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8523:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8528:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8464:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "8464:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8457:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8629:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulIdentifier", + "src": "8540:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "8540:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8540:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "8642:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8653:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8658:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8649:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8649:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8642:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8435:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8443:3:17", + "type": "" + } + ], + "src": "8301:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8819:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8829:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8895:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8900:2:17", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8836:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "8836:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8829:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9001:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f", + "nodeType": "YulIdentifier", + "src": "8912:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "8912:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8912:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "9014:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9025:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9030:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9021:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9021:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9014:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8807:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8815:3:17", + "type": "" + } + ], + "src": "8673:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9191:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9201:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9267:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9272:2:17", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9208:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "9208:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9201:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9373:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "nodeType": "YulIdentifier", + "src": "9284:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "9284:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "9284:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "9386:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9397:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9402:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9393:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9393:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9386:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9179:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9187:3:17", + "type": "" + } + ], + "src": "9045:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9580:235:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9590:90:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9673:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9678:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "9597:75:17" + }, + "nodeType": "YulFunctionCall", + "src": "9597:83:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9590:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9778:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nodeType": "YulIdentifier", + "src": "9689:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "9689:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "9689:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "9791:18:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9802:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9807:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9798:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9798:11:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9791:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9568:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9576:3:17", + "type": "" + } + ], + "src": "9417:398:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10011:1018:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10021:26:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10037:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10042:4:17", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10033:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10033:14:17" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10025:4:17", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10057:171:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10099:43:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10129:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10136:4:17", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10125:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10125:16:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10119:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "10119:23:17" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10103:12:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10189:12:17" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10207:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10212:4:17", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10203:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10203:14:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "10155:33:17" + }, + "nodeType": "YulFunctionCall", + "src": "10155:63:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10155:63:17" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10238:160:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10273:43:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10303:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10310:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10299:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10299:16:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10293:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "10293:23:17" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10277:12:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10359:12:17" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10377:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10382:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10373:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10373:14:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64", + "nodeType": "YulIdentifier", + "src": "10329:29:17" + }, + "nodeType": "YulFunctionCall", + "src": "10329:59:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10329:59:17" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10408:159:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10444:43:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10474:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10481:4:17", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10470:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10470:16:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10464:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "10464:23:17" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10448:12:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10528:12:17" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10546:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10551:4:17", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10542:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10542:14:17" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulIdentifier", + "src": "10500:27:17" + }, + "nodeType": "YulFunctionCall", + "src": "10500:57:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10500:57:17" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10577:176:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10624:43:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10654:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10661:4:17", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10650:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10650:16:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10644:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "10644:23:17" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10628:12:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10714:12:17" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10732:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10737:4:17", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10728:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10728:14:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "10680:33:17" + }, + "nodeType": "YulFunctionCall", + "src": "10680:63:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10680:63:17" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10763:239:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10802:43:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10832:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10839:4:17", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10828:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10828:16:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10822:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "10822:23:17" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10806:12:17", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10870:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10875:4:17", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10866:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10866:14:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10886:4:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10892:3:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10882:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10882:14:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10859:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10859:38:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10859:38:17" + }, + { + "nodeType": "YulAssignment", + "src": "10910:81:17", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10972:12:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10986:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10918:53:17" + }, + "nodeType": "YulFunctionCall", + "src": "10918:73:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10910:4:17" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11012:11:17", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11019:4:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11012:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_Passport_$1679_memory_ptr_to_t_struct$_Passport_$1679_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9990:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9997:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10006:3:17", + "type": "" + } + ], + "src": "9885:1144:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11100:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11117:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11140:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "11122:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "11122:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11110:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11110:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11110:37:17" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11088:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11095:3:17", + "type": "" + } + ], + "src": "11035:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11295:139:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11306:102:17", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11395:6:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11404:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "11313:81:17" + }, + "nodeType": "YulFunctionCall", + "src": "11313:95:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11306:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11418:10:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11425:3:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11418:3:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11274:3:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11280:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11291:3:17", + "type": "" + } + ], + "src": "11159:275:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11628:191:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11639:154:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11789:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "11646:141:17" + }, + "nodeType": "YulFunctionCall", + "src": "11646:147:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11639:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11803:10:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11810:3:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11803:3:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11615:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11624:3:17", + "type": "" + } + ], + "src": "11440:379:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11923:124:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11933:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11945:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11956:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11941:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11941:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11933:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12013:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12026:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12037:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12022:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12022:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "11969:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "11969:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11969:71:17" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11895:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11907:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11918:4:17", + "type": "" + } + ], + "src": "11825:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12273:515:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12283:27:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12295:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12306:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12291:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12291:19:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12283:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12364:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12377:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12388:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12373:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12373:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "12320:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "12320:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12320:71:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12441:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12454:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12465:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12450:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12450:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "12401:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "12401:68:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12401:68:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12517:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12530:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12541:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12526:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12526:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "12479:37:17" + }, + "nodeType": "YulFunctionCall", + "src": "12479:66:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12479:66:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "12599:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12612:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12623:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12608:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12608:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "12555:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "12555:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12555:72:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12648:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12659:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12644:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12644:19:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12669:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12675:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12665:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12665:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12637:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12637:49:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12637:49:17" + }, + { + "nodeType": "YulAssignment", + "src": "12695:86:17", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "12767:6:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12776:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12703:63:17" + }, + "nodeType": "YulFunctionCall", + "src": "12703:78:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12695:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_int64_t_bool_t_address_t_string_memory_ptr__to_t_address_t_int64_t_bool_t_address_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12213:9:17", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "12225:6:17", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "12233:6:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "12241:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12249:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12257:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12268:4:17", + "type": "" + } + ], + "src": "12053:735:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12886:118:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12896:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12908:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12919:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12904:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12904:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12896:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12970:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12983:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12994:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12979:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12979:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "12932:37:17" + }, + "nodeType": "YulFunctionCall", + "src": "12932:65:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12932:65:17" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12858:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12870:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12881:4:17", + "type": "" + } + ], + "src": "12794:210:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13104:120:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13114:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13126:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13137:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13122:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13122:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13114:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13190:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13203:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13214:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13199:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13199:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "13150:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "13150:67:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13150:67:17" + } + ] + }, + "name": "abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13076:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13088:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13099:4:17", + "type": "" + } + ], + "src": "13010:214:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13352:202:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13362:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13374:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13385:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13370:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13370:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13362:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13438:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13451:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13462:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13447:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13447:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "13398:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "13398:67:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13398:67:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13519:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13532:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13543:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13528:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13528:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "13475:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "13475:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13475:72:17" + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_address__to_t_int64_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13316:9:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13328:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13336:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13347:4:17", + "type": "" + } + ], + "src": "13230:324:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13710:284:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13720:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13732:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13743:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13728:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13728:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13720:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13796:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13809:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13820:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13805:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13805:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "13756:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "13756:67:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13756:67:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13877:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13890:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13901:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13886:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13886:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "13833:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "13833:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13833:72:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "13959:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13972:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13983:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13968:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13968:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "13915:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "13915:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13915:72:17" + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_address_t_address__to_t_int64_t_address_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13666:9:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "13678:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13686:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13694:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13705:4:17", + "type": "" + } + ], + "src": "13560:434:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14116:196:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14126:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14138:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14149:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14134:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14134:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14126:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14202:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14215:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14226:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14211:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14211:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "14162:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "14162:67:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14162:67:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "14277:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14290:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14301:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14286:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14286:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "14239:37:17" + }, + "nodeType": "YulFunctionCall", + "src": "14239:66:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14239:66:17" + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_bool__to_t_int64_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14080:9:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14092:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14100:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14111:4:17", + "type": "" + } + ], + "src": "14000:312:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14489:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14499:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14511:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14522:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14507:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14507:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14499:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14546:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14557:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14542:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14542:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14565:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14571:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14561:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14561:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14535:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14535:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14535:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "14591:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14725:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14599:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "14599:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14591:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14469:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14484:4:17", + "type": "" + } + ], + "src": "14318:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14914:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14924:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14936:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14947:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14932:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14932:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14924:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14971:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14982:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14967:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14967:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14990:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14996:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14986:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14986:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14960:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14960:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14960:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "15016:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15150:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15024:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "15024:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15016:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14894:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14909:4:17", + "type": "" + } + ], + "src": "14743:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15339:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15349:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15361:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15372:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15357:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15357:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15349:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15396:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15407:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15392:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15392:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15415:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15421:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15411:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15411:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15385:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "15385:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15385:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "15441:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15575:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15449:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "15449:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15441:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15319:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15334:4:17", + "type": "" + } + ], + "src": "15168:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15764:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15774:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15786:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15797:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15782:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15782:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15774:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15821:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15832:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15817:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15817:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15840:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15846:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15836:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15836:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15810:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "15810:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15810:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "15866:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16000:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15874:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "15874:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15866:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15744:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15759:4:17", + "type": "" + } + ], + "src": "15593:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16189:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16199:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16211:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16222:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16207:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16207:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16199:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16246:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16257:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16242:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16242:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16265:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16271:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16261:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16261:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16235:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "16235:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "16235:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "16291:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16425:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16299:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "16299:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16291:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16169:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16184:4:17", + "type": "" + } + ], + "src": "16018:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16614:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16624:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16636:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16647:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16632:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16632:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16624:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16671:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16682:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16667:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16667:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16690:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16696:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16686:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16686:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16660:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "16660:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "16660:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "16716:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16850:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16724:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "16724:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16716:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16594:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16609:4:17", + "type": "" + } + ], + "src": "16443:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17039:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17049:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17061:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17072:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17057:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17057:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17049:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17096:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17107:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17092:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17092:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17115:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17121:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17111:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17111:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17085:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "17085:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "17085:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "17141:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17275:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17149:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "17149:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17141:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17019:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17034:4:17", + "type": "" + } + ], + "src": "16868:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17464:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17474:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17486:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17497:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17482:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17482:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17474:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17521:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17532:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17517:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17517:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17540:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17546:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17536:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17536:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17510:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "17510:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "17510:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "17566:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17700:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17574:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "17574:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17566:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17444:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17459:4:17", + "type": "" + } + ], + "src": "17293:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17889:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17899:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17911:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17922:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17907:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17907:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17899:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17946:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17957:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17942:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17942:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17965:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17971:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17961:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17961:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17935:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "17935:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "17935:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "17991:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18125:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17999:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "17999:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17991:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17869:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17884:4:17", + "type": "" + } + ], + "src": "17718:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18293:227:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18303:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18315:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18326:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18311:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18311:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18303:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18350:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18361:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18346:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18346:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18369:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18375:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18365:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18365:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18339:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "18339:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18339:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "18395:118:17", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18499:6:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18508:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_Passport_$1679_memory_ptr_to_t_struct$_Passport_$1679_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18403:95:17" + }, + "nodeType": "YulFunctionCall", + "src": "18403:110:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18395:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_Passport_$1679_memory_ptr__to_t_struct$_Passport_$1679_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18265:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18277:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18288:4:17", + "type": "" + } + ], + "src": "18143:377:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18624:124:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18634:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18646:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18657:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18642:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18642:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18634:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18714:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18727:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18738:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18723:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18723:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "18670:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "18670:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18670:71:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18596:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18608:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18619:4:17", + "type": "" + } + ], + "src": "18526:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18795:88:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18805:30:17", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "18815:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "18815:20:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18805:6:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18864:6:17" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "18872:4:17" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "18844:19:17" + }, + "nodeType": "YulFunctionCall", + "src": "18844:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18844:33:17" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "18779:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18788:6:17", + "type": "" + } + ], + "src": "18754:129:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18929:35:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18939:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18955:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "18949:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "18949:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18939:6:17" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18922:6:17", + "type": "" + } + ], + "src": "18889:75:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19037:241:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "19142:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "19144:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "19144:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "19144:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19114:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19122:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "19111:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "19111:30:17" + }, + "nodeType": "YulIf", + "src": "19108:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "19174:37:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19204:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "19182:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "19182:29:17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "19174:4:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19248:23:17", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "19260:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19266:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19256:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19256:15:17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "19248:4:17" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19021:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "19032:4:17", + "type": "" + } + ], + "src": "18970:308:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19343:40:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19354:22:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19370:5:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19364:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "19364:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19354:6:17" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19326:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19336:6:17", + "type": "" + } + ], + "src": "19284:99:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19502:34:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19512:18:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19527:3:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "19512:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19474:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19479:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "19490:11:17", + "type": "" + } + ], + "src": "19389:147:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19628:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19645:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19650:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19638:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "19638:19:17" + }, + "nodeType": "YulExpressionStatement", + "src": "19638:19:17" + }, + { + "nodeType": "YulAssignment", + "src": "19666:29:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19685:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19690:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19681:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19681:14:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "19666:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19600:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19605:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "19616:11:17", + "type": "" + } + ], + "src": "19542:159:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19803:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19820:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19825:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19813:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "19813:19:17" + }, + "nodeType": "YulExpressionStatement", + "src": "19813:19:17" + }, + { + "nodeType": "YulAssignment", + "src": "19841:29:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19860:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19865:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19856:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19856:14:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "19841:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19775:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19780:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "19791:11:17", + "type": "" + } + ], + "src": "19707:169:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19996:34:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20006:18:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20021:3:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "20006:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19968:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19973:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "19984:11:17", + "type": "" + } + ], + "src": "19882:148:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20081:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20091:35:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20120:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "20102:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "20102:24:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20091:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20063:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20073:7:17", + "type": "" + } + ], + "src": "20036:96:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20180:48:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20190:32:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20215:5:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "20208:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "20208:13:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "20201:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "20201:21:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20190:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20162:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20172:7:17", + "type": "" + } + ], + "src": "20138:90:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20277:47:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20287:31:17", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20309:1:17", + "type": "", + "value": "7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20312:5:17" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "20298:10:17" + }, + "nodeType": "YulFunctionCall", + "src": "20298:20:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20287:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20259:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20269:7:17", + "type": "" + } + ], + "src": "20234:90:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20375:81:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20385:65:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20400:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20407:42:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "20396:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20396:54:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20385:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20357:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20367:7:17", + "type": "" + } + ], + "src": "20330:126:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20507:32:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20517:16:17", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20528:5:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20517:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20489:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20499:7:17", + "type": "" + } + ], + "src": "20462:77:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20596:103:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "20619:3:17" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "20624:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20629:6:17" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "20606:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "20606:30:17" + }, + "nodeType": "YulExpressionStatement", + "src": "20606:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "20677:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20682:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20673:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20673:16:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20691:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20666:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "20666:27:17" + }, + "nodeType": "YulExpressionStatement", + "src": "20666:27:17" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "20578:3:17", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "20583:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "20588:6:17", + "type": "" + } + ], + "src": "20545:154:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20754:258:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20764:10:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20773:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "20768:1:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20833:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "20858:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20863:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20854:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20854:11:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "20877:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20882:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20873:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20873:11:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20867:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "20867:18:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20847:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "20847:39:17" + }, + "nodeType": "YulExpressionStatement", + "src": "20847:39:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20794:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20797:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "20791:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "20791:13:17" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "20805:19:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20807:15:17", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20816:1:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20819:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20812:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20812:10:17" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20807:1:17" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "20787:3:17", + "statements": [] + }, + "src": "20783:113:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20930:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "20980:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20985:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20976:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20976:16:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20994:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20969:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "20969:27:17" + }, + "nodeType": "YulExpressionStatement", + "src": "20969:27:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20911:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20914:6:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "20908:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "20908:13:17" + }, + "nodeType": "YulIf", + "src": "20905:2:17" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "20736:3:17", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "20741:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "20746:6:17", + "type": "" + } + ], + "src": "20705:307:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21069:269:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21079:22:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "21093:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21099:1:17", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "21089:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21089:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21079:6:17" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21110:38:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "21140:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21146:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "21136:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21136:12:17" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "21114:18:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21187:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21201:27:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21215:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21223:4:17", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "21211:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21211:17:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21201:6:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "21167:18:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "21160:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21160:26:17" + }, + "nodeType": "YulIf", + "src": "21157:2:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21290:42:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "21304:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "21304:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21304:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "21254:18:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21277:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21285:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "21274:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "21274:14:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "21251:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "21251:38:17" + }, + "nodeType": "YulIf", + "src": "21248:2:17" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "21053:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "21062:6:17", + "type": "" + } + ], + "src": "21018:320:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21387:238:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21397:58:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21419:6:17" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "21449:4:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "21427:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "21427:27:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21415:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21415:40:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "21401:10:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21566:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "21568:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "21568:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21568:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "21509:10:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21521:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "21506:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "21506:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "21545:10:17" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21557:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "21542:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "21542:22:17" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "21503:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "21503:62:17" + }, + "nodeType": "YulIf", + "src": "21500:2:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21604:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "21608:10:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21597:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21597:22:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21597:22:17" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "21373:6:17", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "21381:4:17", + "type": "" + } + ], + "src": "21344:281:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21659:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21676:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21679:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21669:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21669:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21669:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21773:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21776:4:17", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21766:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21766:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21766:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21797:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21800:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "21790:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21790:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21790:15:17" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "21631:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21845:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21862:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21865:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21855:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21855:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21855:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21959:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21962:4:17", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21952:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21952:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21952:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21983:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21986:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "21976:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21976:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21976:15:17" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "21817:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22051:54:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22061:38:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "22079:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22086:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22075:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22075:14:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22095:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "22091:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22091:7:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "22071:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22071:28:17" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "22061:6:17" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "22034:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "22044:6:17", + "type": "" + } + ], + "src": "22003:102:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22217:119:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22239:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22247:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22235:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22235:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22251:34:17", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22228:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "22228:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "22228:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22307:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22315:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22303:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22303:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22320:8:17", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22296:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "22296:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "22296:33:17" + } + ] + }, + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22209:6:17", + "type": "" + } + ], + "src": "22111:225:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22448:66:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22470:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22478:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22466:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22466:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22482:24:17", + "type": "", + "value": "Unable to transfer fee" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22459:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "22459:48:17" + }, + "nodeType": "YulExpressionStatement", + "src": "22459:48:17" + } + ] + }, + "name": "store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22440:6:17", + "type": "" + } + ], + "src": "22342:172:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22626:129:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22648:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22656:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22644:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22644:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22660:34:17", + "type": "", + "value": "There's address connected to tha" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22637:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "22637:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "22637:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22716:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22724:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22712:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22712:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22729:18:17", + "type": "", + "value": "t TG ID already." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22705:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "22705:43:17" + }, + "nodeType": "YulExpressionStatement", + "src": "22705:43:17" + } + ] + }, + "name": "store_literal_in_memory_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22618:6:17", + "type": "" + } + ], + "src": "22520:235:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22867:68:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22889:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22897:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22885:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22885:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22901:26:17", + "type": "", + "value": "Passport fee is not paid" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22878:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "22878:50:17" + }, + "nodeType": "YulExpressionStatement", + "src": "22878:50:17" + } + ] + }, + "name": "store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22859:6:17", + "type": "" + } + ], + "src": "22761:174:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23047:145:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23069:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23077:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23065:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23065:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23081:34:17", + "type": "", + "value": "Your current address mismatch wi" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23058:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "23058:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23058:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23137:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23145:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23133:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23133:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23150:34:17", + "type": "", + "value": "th your registred wallet address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23126:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "23126:59:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23126:59:17" + } + ] + }, + "name": "store_literal_in_memory_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23039:6:17", + "type": "" + } + ], + "src": "22941:251:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23304:75:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23326:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23334:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23322:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23322:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23338:33:17", + "type": "", + "value": "you don't now own this username" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23315:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "23315:57:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23315:57:17" + } + ] + }, + "name": "store_literal_in_memory_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23296:6:17", + "type": "" + } + ], + "src": "23198:181:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23491:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23513:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23521:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23509:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23509:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23525:34:17", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23502:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "23502:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23502:58:17" + } + ] + }, + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23483:6:17", + "type": "" + } + ], + "src": "23385:182:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23679:118:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23701:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23709:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23697:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23697:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23713:34:17", + "type": "", + "value": "this function work's only for te" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23690:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "23690:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23690:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23769:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23777:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23765:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23765:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23782:7:17", + "type": "", + "value": "stnet" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23758:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "23758:32:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23758:32:17" + } + ] + }, + "name": "store_literal_in_memory_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23671:6:17", + "type": "" + } + ], + "src": "23573:224:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23909:118:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23931:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23939:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23927:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23927:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23943:34:17", + "type": "", + "value": "already approved OR do not exist" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23920:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "23920:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23920:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23999:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24007:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23995:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23995:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "24012:7:17", + "type": "", + "value": "s yet" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23988:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "23988:32:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23988:32:17" + } + ] + }, + "name": "store_literal_in_memory_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23901:6:17", + "type": "" + } + ], + "src": "23803:224:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24139:8:17", + "statements": [] + }, + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24131:6:17", + "type": "" + } + ], + "src": "24033:114:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24196:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24253:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24262:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24265:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24255:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "24255:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "24255:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24219:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24244:5:17" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "24226:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "24226:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24216:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "24216:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "24209:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "24209:43:17" + }, + "nodeType": "YulIf", + "src": "24206:2:17" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24189:5:17", + "type": "" + } + ], + "src": "24153:122:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24321:76:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24375:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24384:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24387:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24377:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "24377:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "24377:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24344:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24366:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "24351:14:17" + }, + "nodeType": "YulFunctionCall", + "src": "24351:21:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24341:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "24341:32:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "24334:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "24334:40:17" + }, + "nodeType": "YulIf", + "src": "24331:2:17" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24314:5:17", + "type": "" + } + ], + "src": "24281:116:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24444:77:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24499:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24508:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24511:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24501:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "24501:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "24501:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24467:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24490:5:17" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "24474:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "24474:22:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24464:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "24464:33:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "24457:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "24457:41:17" + }, + "nodeType": "YulIf", + "src": "24454:2:17" + } + ] + }, + "name": "validator_revert_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24437:5:17", + "type": "" + } + ], + "src": "24403:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24570:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24627:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24636:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24639:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24629:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "24629:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "24629:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24593:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24618:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "24600:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "24600:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24590:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "24590:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "24583:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "24583:43:17" + }, + "nodeType": "YulIf", + "src": "24580:2:17" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24563:5:17", + "type": "" + } + ], + "src": "24527:122:17" + } + ] + }, + "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_t_int64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int64(value)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64t_int64(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64t_int64t_bool(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64t_string_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_int64_to_t_int64(value, pos) {\n mstore(pos, cleanup_t_int64(value))\n }\n\n function abi_encode_t_int64_to_t_int64_fromStack(value, pos) {\n mstore(pos, cleanup_t_int64(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 48)\n store_literal_in_memory_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 64)\n store_literal_in_memory_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\n }\n\n // struct TGPassport.Passport -> struct TGPassport.Passport\n function abi_encode_t_struct$_Passport_$1679_memory_ptr_to_t_struct$_Passport_$1679_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0xa0)\n\n {\n // userAddress\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // tgId\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_int64_to_t_int64(memberValue0, add(pos, 0x20))\n }\n\n {\n // valid\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_bool_to_t_bool(memberValue0, add(pos, 0x40))\n }\n\n {\n // validatorAddress\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x60))\n }\n\n {\n // userName\n\n let memberValue0 := mload(add(value, 0x80))\n\n mstore(add(pos, 0x80), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n pos := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_int64_t_bool_t_address_t_string_memory_ptr__to_t_address_t_int64_t_bool_t_address_t_string_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_int64_to_t_int64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bool_to_t_bool_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value4, tail)\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_int64_t_address__to_t_int64_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_int64_t_address_t_address__to_t_int64_t_address_t_address__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_int64_t_bool__to_t_int64_t_bool__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bool_to_t_bool_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_struct$_Passport_$1679_memory_ptr__to_t_struct$_Passport_$1679_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_Passport_$1679_memory_ptr_to_t_struct$_Passport_$1679_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_int64(value) -> cleaned {\n cleaned := signextend(7, value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f(memPtr) {\n\n mstore(add(memPtr, 0), \"Unable to transfer fee\")\n\n }\n\n function store_literal_in_memory_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4(memPtr) {\n\n mstore(add(memPtr, 0), \"There's address connected to tha\")\n\n mstore(add(memPtr, 32), \"t TG ID already.\")\n\n }\n\n function store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d(memPtr) {\n\n mstore(add(memPtr, 0), \"Passport fee is not paid\")\n\n }\n\n function store_literal_in_memory_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a(memPtr) {\n\n mstore(add(memPtr, 0), \"Your current address mismatch wi\")\n\n mstore(add(memPtr, 32), \"th your registred wallet address\")\n\n }\n\n function store_literal_in_memory_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2(memPtr) {\n\n mstore(add(memPtr, 0), \"you don't now own this username\")\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function store_literal_in_memory_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f(memPtr) {\n\n mstore(add(memPtr, 0), \"this function work's only for te\")\n\n mstore(add(memPtr, 32), \"stnet\")\n\n }\n\n function store_literal_in_memory_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b(memPtr) {\n\n mstore(add(memPtr, 0), \"already approved OR do not exist\")\n\n mstore(add(memPtr, 32), \"s yet\")\n\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_int64(value) {\n if iszero(eq(value, cleanup_t_int64(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "60806040526004361061014b5760003560e01c80636a8ec05e116100b6578063b910c8981161006f578063b910c898146104ee578063d2114e1814610517578063d2125bd214610554578063d5998aeb1461057d578063e37c132b14610599578063f2fde38b146105da5761014b565b80636a8ec05e146103cc578063715018a6146104095780638da5cb5b146104205780639413c6421461044b5780639421da6114610488578063b25047c2146104b15761014b565b806348dc15611161010857806348dc1561146102845780634ac054bb146102af57806359cca93b146102ec57806361cabe371461032957806365104afc1461036657806365a5637e1461038f5761014b565b80630ae50a39146101505780630c2fc6e31461017b5780631423ea07146101b85780631755e9e6146101f557806321e6531d1461021e578063239f60fa14610247575b600080fd5b34801561015c57600080fd5b50610165610603565b6040516101729190612d30565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612876565b61062d565b6040516101af9190612d30565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da919061284d565b610670565b6040516101ec9190612f84565b60405180910390f35b34801561020157600080fd5b5061021c6004803603810190610217919061284d565b610845565b005b34801561022a57600080fd5b50610245600480360381019061024091906129ba565b610c93565b005b34801561025357600080fd5b5061026e6004803603810190610269919061289f565b610e5f565b60405161027b9190612da5565b60405180910390f35b34801561029057600080fd5b50610299610e8e565b6040516102a69190612fa6565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d1919061289f565b610e98565b6040516102e39190612da5565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e91906129ba565b610ee0565b6040516103209190612d30565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b919061284d565b610f29565b60405161035d9190612dc0565b60405180910390f35b34801561037257600080fd5b5061038d6004803603810190610388919061284d565b610f44565b005b34801561039b57600080fd5b506103b660048036038101906103b19190612876565b6112b6565b6040516103c39190612f84565b60405180910390f35b3480156103d857600080fd5b506103f360048036038101906103ee919061297e565b611499565b6040516104009190612dc0565b60405180910390f35b34801561041557600080fd5b5061041e6114df565b005b34801561042c57600080fd5b50610435611567565b6040516104429190612d30565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d9190612876565b611590565b60405161047f9190612d30565b60405180910390f35b34801561049457600080fd5b506104af60048036038101906104aa919061284d565b6115c3565b005b3480156104bd57600080fd5b506104d860048036038101906104d391906129ba565b611982565b6040516104e59190612f84565b60405180910390f35b3480156104fa57600080fd5b50610515600480360381019061051091906128db565b611b65565b005b34801561052357600080fd5b5061053e600480360381019061053991906129ba565b611d71565b60405161054b9190612d30565b60405180910390f35b34801561056057600080fd5b5061057b600480360381019061057691906129fb565b611db9565b005b6105976004803603810190610592919061292a565b611e3f565b005b3480156105a557600080fd5b506105c060048036038101906105bb919061284d565b612176565b6040516105d1959493929190612d4b565b60405180910390f35b3480156105e657600080fd5b5061060160048036038101906105fc919061284d565b61228e565b005b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600360008360070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61067861264e565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820180546107b8906130f1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e4906130f1565b80156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b505050505081525050905080915050919050565b61084d612386565b73ffffffffffffffffffffffffffffffffffffffff1661086b611567565b73ffffffffffffffffffffffffffffffffffffffff16146108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b890612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054610964906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054610990906130f1565b80156109dd5780601f106109b2576101008083540402835291602001916109dd565b820191906000526020600020905b8154815290600101906020018083116109c057829003601f168201915b5050505050905060001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001601c9054906101000a900460ff16151514610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190612f64565b60405180910390fd5b60011515600660008460070b60070b815260200190815260200160002060008460070b60070b815260200190815260200160002060009054906101000a905050506040518060a001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018360070b81526020016001151581526020013373ffffffffffffffffffffffffffffffffffffffff16815260200182815250600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002019080519060200190610c4f9291906126ae565b509050507fddda54aebd53f1c2d3f35d7107ddd15f71b313a804dda2179cded44927110cd0828433604051610c8693929190612e04565b60405180910390a1505050565b6000610c9e33610670565b90503373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614610d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0990612f04565b60405180910390fd5b81816080018190525080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002019080519060200190610e579291906126ae565b509050505050565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b6000600154905090565b6000600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060009054906101000a900460ff16905092915050565b6005818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610f3583610670565b90508060200151915050919050565b610f4c612386565b73ffffffffffffffffffffffffffffffffffffffff16610f6a611567565b73ffffffffffffffffffffffffffffffffffffffff1614610fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb790612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054611063906130f1565b80601f016020809104026020016040519081016040528092919081815260200182805461108f906130f1565b80156110dc5780601f106110b1576101008083540402835291602001916110dc565b820191906000526020600020905b8154815290600101906020018083116110bf57829003601f168201915b5050505050905060004690506005811461112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112290612f44565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006111f89190612734565b5050600360008460070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005826040516112469190612d04565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f0511bec3ed97c7099362d7e7b0ed4fe8afe6f448a0dcf73f258be48dceb302db83856040516112a8929190612ddb565b60405180910390a150505050565b6112be61264e565b60006112c98361062d565b90506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461140b906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054611437906130f1565b80156114845780601f1061145957610100808354040283529160200191611484565b820191906000526020600020905b81548152906001019060200180831161146757829003601f168201915b50505050508152505090508092505050919050565b600760205281600052604060002081815481106114b557600080fd5b9060005260206000209060049182820401919006600802915091509054906101000a900460070b81565b6114e7612386565b73ffffffffffffffffffffffffffffffffffffffff16611505611567565b73ffffffffffffffffffffffffffffffffffffffff161461155b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155290612f24565b60405180910390fd5b611565600061238e565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115cb612386565b73ffffffffffffffffffffffffffffffffffffffff166115e9611567565b73ffffffffffffffffffffffffffffffffffffffff161461163f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163690612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020180546116e2906130f1565b80601f016020809104026020016040519081016040528092919081815260200182805461170e906130f1565b801561175b5780601f106117305761010080835404028352916020019161175b565b820191906000526020600020905b81548152906001019060200180831161173e57829003601f168201915b5050505050905060001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001601c9054906101000a900460ff161515146117f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ef90612f64565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006118c59190612734565b5050600360008360070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005816040516119139190612d04565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f0511bec3ed97c7099362d7e7b0ed4fe8afe6f448a0dcf73f258be48dceb302db8284604051611975929190612ddb565b60405180910390a1505050565b61198a61264e565b600061199583611d71565b90506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282018054611ad7906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054611b03906130f1565b8015611b505780601f10611b2557610100808354040283529160200191611b50565b820191906000526020600020905b815481529060010190602001808311611b3357829003601f168201915b50505050508152505090508092505050919050565b6000611b70846112b6565b90506000816000015190503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be090612ee4565b60405180910390fd5b600115158315151415611cb257611c008585612452565b600760008660070b60070b81526020019081526020016000208490806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055508360070b7fb3ca43859da7280c9b07097e86cb568999c37fb4232a15e7ffbae5c6921c2bef8685604051611ca5929190612e3b565b60405180910390a2611d6a565b611cbc858561249f565b600760008660070b60070b81526020019081526020016000208490806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055508360070b7fb3ca43859da7280c9b07097e86cb568999c37fb4232a15e7ffbae5c6921c2bef8685604051611d61929190612e3b565b60405180910390a25b5050505050565b6000600582604051611d839190612d04565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611dc1612386565b73ffffffffffffffffffffffffffffffffffffffff16611ddf611567565b73ffffffffffffffffffffffffffffffffffffffff1614611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c90612f24565b60405180910390fd5b8060018190555050565b6000339050611e4f8382846124ec565b6001543414611e93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8a90612ec4565b60405180910390fd5b6040518060a001604052808273ffffffffffffffffffffffffffffffffffffffff1681526020018460070b8152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200183815250600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160020190805190602001906120289291906126ae565b509050507fcb042d04619e497175f63ce8ec9b9127cb0bf344facc37db4fe8492c2ecfbb9e833360405161205d929190612ddb565b60405180910390a18260070b7f2d329f0d038ded94203a58e5be2f2f41b14cbbc49cc1f89443696606f104658c336040516120989190612d30565b60405180910390a26000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001546040516120ea90612d1b565b60006040518083038185875af1925050503d8060008114612127576040519150601f19603f3d011682016040523d82523d6000602084013e61212c565b606091505b5050905080612170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216790612e84565b60405180910390fd5b50505050565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600201805461220b906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054612237906130f1565b80156122845780601f1061225957610100808354040283529160200191612284565b820191906000526020600020905b81548152906001019060200180831161226757829003601f168201915b5050505050905085565b612296612386565b73ffffffffffffffffffffffffffffffffffffffff166122b4611567565b73ffffffffffffffffffffffffffffffffffffffff161461230a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230190612f24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561237a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237190612e64565b60405180910390fd5b6123838161238e565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff16600360008560070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258b90612ea4565b60405180910390fd5b81600360008560070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816005826040516125fd9190612d04565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600060070b8152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8280546126ba906130f1565b90600052602060002090601f0160209004810192826126dc5760008555612723565b82601f106126f557805160ff1916838001178555612723565b82800160010185558215612723579182015b82811115612722578251825591602001919060010190612707565b5b5090506127309190612774565b5090565b508054612740906130f1565b6000825580601f106127525750612771565b601f0160209004906000526020600020908101906127709190612774565b5b50565b5b8082111561278d576000816000905550600101612775565b5090565b60006127a461279f84612fe6565b612fc1565b9050828152602081018484840111156127bc57600080fd5b6127c78482856130af565b509392505050565b6000813590506127de816133f5565b92915050565b6000813590506127f38161340c565b92915050565b60008135905061280881613423565b92915050565b600082601f83011261281f57600080fd5b813561282f848260208601612791565b91505092915050565b6000813590506128478161343a565b92915050565b60006020828403121561285f57600080fd5b600061286d848285016127cf565b91505092915050565b60006020828403121561288857600080fd5b6000612896848285016127f9565b91505092915050565b600080604083850312156128b257600080fd5b60006128c0858286016127f9565b92505060206128d1858286016127f9565b9150509250929050565b6000806000606084860312156128f057600080fd5b60006128fe868287016127f9565b935050602061290f868287016127f9565b9250506040612920868287016127e4565b9150509250925092565b6000806040838503121561293d57600080fd5b600061294b858286016127f9565b925050602083013567ffffffffffffffff81111561296857600080fd5b6129748582860161280e565b9150509250929050565b6000806040838503121561299157600080fd5b600061299f858286016127f9565b92505060206129b085828601612838565b9150509250929050565b6000602082840312156129cc57600080fd5b600082013567ffffffffffffffff8111156129e657600080fd5b6129f28482850161280e565b91505092915050565b600060208284031215612a0d57600080fd5b6000612a1b84828501612838565b91505092915050565b612a2d8161305a565b82525050565b612a3c8161305a565b82525050565b612a4b8161306c565b82525050565b612a5a8161306c565b82525050565b612a6981613078565b82525050565b612a7881613078565b82525050565b6000612a8982613017565b612a93818561302d565b9350612aa38185602086016130be565b612aac816131b2565b840191505092915050565b6000612ac282613017565b612acc818561303e565b9350612adc8185602086016130be565b612ae5816131b2565b840191505092915050565b6000612afb82613017565b612b05818561304f565b9350612b158185602086016130be565b80840191505092915050565b6000612b2e60268361303e565b9150612b39826131c3565b604082019050919050565b6000612b5160168361303e565b9150612b5c82613212565b602082019050919050565b6000612b7460308361303e565b9150612b7f8261323b565b604082019050919050565b6000612b9760188361303e565b9150612ba28261328a565b602082019050919050565b6000612bba60408361303e565b9150612bc5826132b3565b604082019050919050565b6000612bdd601f8361303e565b9150612be882613302565b602082019050919050565b6000612c0060208361303e565b9150612c0b8261332b565b602082019050919050565b6000612c2360258361303e565b9150612c2e82613354565b604082019050919050565b6000612c4660258361303e565b9150612c51826133a3565b604082019050919050565b6000612c69600083613022565b9150612c74826133f2565b600082019050919050565b600060a083016000830151612c976000860182612a24565b506020830151612caa6020860182612a60565b506040830151612cbd6040860182612a42565b506060830151612cd06060860182612a24565b5060808301518482036080860152612ce88282612a7e565b9150508091505092915050565b612cfe816130a5565b82525050565b6000612d108284612af0565b915081905092915050565b6000612d2682612c5c565b9150819050919050565b6000602082019050612d456000830184612a33565b92915050565b600060a082019050612d606000830188612a33565b612d6d6020830187612a6f565b612d7a6040830186612a51565b612d876060830185612a33565b8181036080830152612d998184612ab7565b90509695505050505050565b6000602082019050612dba6000830184612a51565b92915050565b6000602082019050612dd56000830184612a6f565b92915050565b6000604082019050612df06000830185612a6f565b612dfd6020830184612a33565b9392505050565b6000606082019050612e196000830186612a6f565b612e266020830185612a33565b612e336040830184612a33565b949350505050565b6000604082019050612e506000830185612a6f565b612e5d6020830184612a51565b9392505050565b60006020820190508181036000830152612e7d81612b21565b9050919050565b60006020820190508181036000830152612e9d81612b44565b9050919050565b60006020820190508181036000830152612ebd81612b67565b9050919050565b60006020820190508181036000830152612edd81612b8a565b9050919050565b60006020820190508181036000830152612efd81612bad565b9050919050565b60006020820190508181036000830152612f1d81612bd0565b9050919050565b60006020820190508181036000830152612f3d81612bf3565b9050919050565b60006020820190508181036000830152612f5d81612c16565b9050919050565b60006020820190508181036000830152612f7d81612c39565b9050919050565b60006020820190508181036000830152612f9e8184612c7f565b905092915050565b6000602082019050612fbb6000830184612cf5565b92915050565b6000612fcb612fdc565b9050612fd78282613123565b919050565b6000604051905090565b600067ffffffffffffffff82111561300157613000613183565b5b61300a826131b2565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061306582613085565b9050919050565b60008115159050919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156130dc5780820151818401526020810190506130c1565b838111156130eb576000848401525b50505050565b6000600282049050600182168061310957607f821691505b6020821081141561311d5761311c613154565b5b50919050565b61312c826131b2565b810181811067ffffffffffffffff8211171561314b5761314a613183565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f54686572652773206164647265737320636f6e6e656374656420746f2074686160008201527f7420544720494420616c72656164792e00000000000000000000000000000000602082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f596f75722063757272656e742061646472657373206d69736d6174636820776960008201527f746820796f7572207265676973747265642077616c6c65742061646472657373602082015250565b7f796f7520646f6e2774206e6f77206f776e207468697320757365726e616d6500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f746869732066756e6374696f6e20776f726b2773206f6e6c7920666f7220746560008201527f73746e6574000000000000000000000000000000000000000000000000000000602082015250565b7f616c726561647920617070726f766564204f5220646f206e6f7420657869737460008201527f7320796574000000000000000000000000000000000000000000000000000000602082015250565b50565b6133fe8161305a565b811461340957600080fd5b50565b6134158161306c565b811461342057600080fd5b50565b61342c81613078565b811461343757600080fd5b50565b613443816130a5565b811461344e57600080fd5b5056fea2646970667358221220249dd1622c29a32d14d6e13c05efa7dc646f37ce9e788f47c9eabbf86d8d2a6d64736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6A8EC05E GT PUSH2 0xB6 JUMPI DUP1 PUSH4 0xB910C898 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xB910C898 EQ PUSH2 0x4EE JUMPI DUP1 PUSH4 0xD2114E18 EQ PUSH2 0x517 JUMPI DUP1 PUSH4 0xD2125BD2 EQ PUSH2 0x554 JUMPI DUP1 PUSH4 0xD5998AEB EQ PUSH2 0x57D JUMPI DUP1 PUSH4 0xE37C132B EQ PUSH2 0x599 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x5DA JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x6A8EC05E EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x409 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x420 JUMPI DUP1 PUSH4 0x9413C642 EQ PUSH2 0x44B JUMPI DUP1 PUSH4 0x9421DA61 EQ PUSH2 0x488 JUMPI DUP1 PUSH4 0xB25047C2 EQ PUSH2 0x4B1 JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x48DC1561 GT PUSH2 0x108 JUMPI DUP1 PUSH4 0x48DC1561 EQ PUSH2 0x284 JUMPI DUP1 PUSH4 0x4AC054BB EQ PUSH2 0x2AF JUMPI DUP1 PUSH4 0x59CCA93B EQ PUSH2 0x2EC JUMPI DUP1 PUSH4 0x61CABE37 EQ PUSH2 0x329 JUMPI DUP1 PUSH4 0x65104AFC EQ PUSH2 0x366 JUMPI DUP1 PUSH4 0x65A5637E EQ PUSH2 0x38F JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0xAE50A39 EQ PUSH2 0x150 JUMPI DUP1 PUSH4 0xC2FC6E3 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x1423EA07 EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x1755E9E6 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x21E6531D EQ PUSH2 0x21E JUMPI DUP1 PUSH4 0x239F60FA EQ PUSH2 0x247 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x165 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x172 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x187 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19D SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AF SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DA SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x670 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EC SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x217 SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x845 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x245 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x240 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xC93 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x269 SWAP2 SWAP1 PUSH2 0x289F JUMP JUMPDEST PUSH2 0xE5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27B SWAP2 SWAP1 PUSH2 0x2DA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x290 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x299 PUSH2 0xE8E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A6 SWAP2 SWAP1 PUSH2 0x2FA6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D1 SWAP2 SWAP1 PUSH2 0x289F JUMP JUMPDEST PUSH2 0xE98 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E3 SWAP2 SWAP1 PUSH2 0x2DA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x313 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30E SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xEE0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x320 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x335 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x350 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x34B SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x35D SWAP2 SWAP1 PUSH2 0x2DC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x372 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x38D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x388 SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0xF44 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x39B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B1 SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x12B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C3 SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EE SWAP2 SWAP1 PUSH2 0x297E JUMP JUMPDEST PUSH2 0x1499 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x400 SWAP2 SWAP1 PUSH2 0x2DC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x415 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x41E PUSH2 0x14DF JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x1567 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x442 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x472 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x46D SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x1590 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x47F SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x494 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4AF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4AA SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x15C3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4D3 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0x1982 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4E5 SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x515 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x510 SWAP2 SWAP1 PUSH2 0x28DB JUMP JUMPDEST PUSH2 0x1B65 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x523 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x53E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x539 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x54B SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x560 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x576 SWAP2 SWAP1 PUSH2 0x29FB JUMP JUMPDEST PUSH2 0x1DB9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x597 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x592 SWAP2 SWAP1 PUSH2 0x292A JUMP JUMPDEST PUSH2 0x1E3F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5C0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5BB SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x2176 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2D4B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x601 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5FC SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x228E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x678 PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x7B8 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E4 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x831 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x806 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x831 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x814 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x84D PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x86B PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x8C1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8B8 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x964 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x990 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x9DD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9B2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x9DD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9C0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0xA7A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA71 SWAP1 PUSH2 0x2F64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 POP POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xC4F SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xDDDA54AEBD53F1C2D3F35D7107DDD15F71B313A804DDA2179CDED44927110CD0 DUP3 DUP5 CALLER PUSH1 0x40 MLOAD PUSH2 0xC86 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC9E CALLER PUSH2 0x670 JUMP JUMPDEST SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD12 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD09 SWAP1 PUSH2 0x2F04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x80 ADD DUP2 SWAP1 MSTORE POP DUP1 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xE57 SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x5 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF35 DUP4 PUSH2 0x670 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x20 ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF4C PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xF6A PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xFC0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFB7 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x1063 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x108F SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x10DC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x10B1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x10DC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x10BF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 CHAINID SWAP1 POP PUSH1 0x5 DUP2 EQ PUSH2 0x112B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1122 SWAP1 PUSH2 0x2F44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x11F8 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST POP POP PUSH1 0x3 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1246 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0x511BEC3ED97C7099362D7E7B0ED4FE8AFE6F448A0DCF73F258BE48DCEB302DB DUP4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x12A8 SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH2 0x12BE PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12C9 DUP4 PUSH2 0x62D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x140B SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1437 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1484 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1459 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1484 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1467 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x14B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP2 POP SWAP2 POP SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND DUP2 JUMP JUMPDEST PUSH2 0x14E7 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1505 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x155B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1552 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1565 PUSH1 0x0 PUSH2 0x238E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x15CB PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x15E9 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x163F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1636 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x16E2 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x170E SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x175B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1730 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x175B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x173E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x17EF SWAP1 PUSH2 0x2F64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x18C5 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST POP POP PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x5 DUP2 PUSH1 0x40 MLOAD PUSH2 0x1913 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0x511BEC3ED97C7099362D7E7B0ED4FE8AFE6F448A0DCF73F258BE48DCEB302DB DUP3 DUP5 PUSH1 0x40 MLOAD PUSH2 0x1975 SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x198A PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1995 DUP4 PUSH2 0x1D71 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x1AD7 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1B03 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B50 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B25 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B50 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B33 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B70 DUP5 PUSH2 0x12B6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1BE9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BE0 SWAP1 PUSH2 0x2EE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 ISZERO ISZERO DUP4 ISZERO ISZERO EQ ISZERO PUSH2 0x1CB2 JUMPI PUSH2 0x1C00 DUP6 DUP6 PUSH2 0x2452 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP7 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x7 SIGNEXTEND PUSH32 0xB3CA43859DA7280C9B07097E86CB568999C37FB4232A15E7FFBAE5C6921C2BEF DUP7 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1CA5 SWAP3 SWAP2 SWAP1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH2 0x1D6A JUMP JUMPDEST PUSH2 0x1CBC DUP6 DUP6 PUSH2 0x249F JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP7 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x7 SIGNEXTEND PUSH32 0xB3CA43859DA7280C9B07097E86CB568999C37FB4232A15E7FFBAE5C6921C2BEF DUP7 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1D61 SWAP3 SWAP2 SWAP1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1D83 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DC1 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1DDF PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1E35 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E2C SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP PUSH2 0x1E4F DUP4 DUP3 DUP5 PUSH2 0x24EC JUMP JUMPDEST PUSH1 0x1 SLOAD CALLVALUE EQ PUSH2 0x1E93 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E8A SWAP1 PUSH2 0x2EC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2028 SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xCB042D04619E497175F63CE8EC9B9127CB0BF344FACC37DB4FE8492C2ECFBB9E DUP4 CALLER PUSH1 0x40 MLOAD PUSH2 0x205D SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP3 PUSH1 0x7 SIGNEXTEND PUSH32 0x2D329F0D038DED94203A58E5BE2F2F41B14CBBC49CC1F89443696606F104658C CALLER PUSH1 0x40 MLOAD PUSH2 0x2098 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH2 0x20EA SWAP1 PUSH2 0x2D1B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2127 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x212C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x2170 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2167 SWAP1 PUSH2 0x2E84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x220B SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2237 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2284 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2259 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2284 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2267 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP6 JUMP JUMPDEST PUSH2 0x2296 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x22B4 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x230A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2301 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x237A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2371 SWAP1 PUSH2 0x2E64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2383 DUP2 PUSH2 0x238E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP6 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2594 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x258B SWAP1 PUSH2 0x2EA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x25FD SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x26BA SWAP1 PUSH2 0x30F1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x26DC JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2723 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x26F5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2723 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2723 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2722 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2707 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2730 SWAP2 SWAP1 PUSH2 0x2774 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x2740 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x2752 JUMPI POP PUSH2 0x2771 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2770 SWAP2 SWAP1 PUSH2 0x2774 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x278D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2775 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27A4 PUSH2 0x279F DUP5 PUSH2 0x2FE6 JUMP JUMPDEST PUSH2 0x2FC1 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x27BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x27C7 DUP5 DUP3 DUP6 PUSH2 0x30AF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27DE DUP2 PUSH2 0x33F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27F3 DUP2 PUSH2 0x340C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2808 DUP2 PUSH2 0x3423 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x281F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x282F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2791 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2847 DUP2 PUSH2 0x343A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x285F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x286D DUP5 DUP3 DUP6 ADD PUSH2 0x27CF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2888 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2896 DUP5 DUP3 DUP6 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x28B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x28C0 DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x28D1 DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x28F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x28FE DUP7 DUP3 DUP8 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x290F DUP7 DUP3 DUP8 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2920 DUP7 DUP3 DUP8 ADD PUSH2 0x27E4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x293D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x294B DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2974 DUP6 DUP3 DUP7 ADD PUSH2 0x280E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2991 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x299F DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x29B0 DUP6 DUP3 DUP7 ADD PUSH2 0x2838 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x29F2 DUP5 DUP3 DUP6 ADD PUSH2 0x280E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A1B DUP5 DUP3 DUP6 ADD PUSH2 0x2838 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2A2D DUP2 PUSH2 0x305A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A3C DUP2 PUSH2 0x305A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A4B DUP2 PUSH2 0x306C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A5A DUP2 PUSH2 0x306C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A69 DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A78 DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A89 DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2A93 DUP2 DUP6 PUSH2 0x302D JUMP JUMPDEST SWAP4 POP PUSH2 0x2AA3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST PUSH2 0x2AAC DUP2 PUSH2 0x31B2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AC2 DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2ACC DUP2 DUP6 PUSH2 0x303E JUMP JUMPDEST SWAP4 POP PUSH2 0x2ADC DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST PUSH2 0x2AE5 DUP2 PUSH2 0x31B2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AFB DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2B05 DUP2 DUP6 PUSH2 0x304F JUMP JUMPDEST SWAP4 POP PUSH2 0x2B15 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B2E PUSH1 0x26 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B39 DUP3 PUSH2 0x31C3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B51 PUSH1 0x16 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B5C DUP3 PUSH2 0x3212 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B74 PUSH1 0x30 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B7F DUP3 PUSH2 0x323B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B97 PUSH1 0x18 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BA2 DUP3 PUSH2 0x328A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BBA PUSH1 0x40 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BC5 DUP3 PUSH2 0x32B3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BDD PUSH1 0x1F DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BE8 DUP3 PUSH2 0x3302 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C00 PUSH1 0x20 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C0B DUP3 PUSH2 0x332B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C23 PUSH1 0x25 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C2E DUP3 PUSH2 0x3354 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C46 PUSH1 0x25 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C51 DUP3 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C69 PUSH1 0x0 DUP4 PUSH2 0x3022 JUMP JUMPDEST SWAP2 POP PUSH2 0x2C74 DUP3 PUSH2 0x33F2 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x2C97 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x2A24 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2CAA PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x2A60 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x2CBD PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x2A42 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x2CD0 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x2A24 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x80 DUP7 ADD MSTORE PUSH2 0x2CE8 DUP3 DUP3 PUSH2 0x2A7E JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2CFE DUP2 PUSH2 0x30A5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D10 DUP3 DUP5 PUSH2 0x2AF0 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D26 DUP3 PUSH2 0x2C5C JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2D45 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2D60 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2A33 JUMP JUMPDEST PUSH2 0x2D6D PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2D7A PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2A51 JUMP JUMPDEST PUSH2 0x2D87 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2A33 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x2D99 DUP2 DUP5 PUSH2 0x2AB7 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DBA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A51 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DD5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A6F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2DF0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2DFD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2E19 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2E26 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2A33 JUMP JUMPDEST PUSH2 0x2E33 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2E50 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2E5D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2A51 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E7D DUP2 PUSH2 0x2B21 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E9D DUP2 PUSH2 0x2B44 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EBD DUP2 PUSH2 0x2B67 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EDD DUP2 PUSH2 0x2B8A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EFD DUP2 PUSH2 0x2BAD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F1D DUP2 PUSH2 0x2BD0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F3D DUP2 PUSH2 0x2BF3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F5D DUP2 PUSH2 0x2C16 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F7D DUP2 PUSH2 0x2C39 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F9E DUP2 DUP5 PUSH2 0x2C7F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FBB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2CF5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FCB PUSH2 0x2FDC JUMP JUMPDEST SWAP1 POP PUSH2 0x2FD7 DUP3 DUP3 PUSH2 0x3123 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3001 JUMPI PUSH2 0x3000 PUSH2 0x3183 JUMP JUMPDEST JUMPDEST PUSH2 0x300A DUP3 PUSH2 0x31B2 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3065 DUP3 PUSH2 0x3085 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x7 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x30DC JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x30C1 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x30EB JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3109 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x311D JUMPI PUSH2 0x311C PUSH2 0x3154 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x312C DUP3 PUSH2 0x31B2 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x314B JUMPI PUSH2 0x314A PUSH2 0x3183 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E61626C6520746F207472616E736665722066656500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x54686572652773206164647265737320636F6E6E656374656420746F20746861 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420544720494420616C72656164792E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x50617373706F727420666565206973206E6F7420706169640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x596F75722063757272656E742061646472657373206D69736D61746368207769 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x746820796F7572207265676973747265642077616C6C65742061646472657373 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x796F7520646F6E2774206E6F77206F776E207468697320757365726E616D6500 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x746869732066756E6374696F6E20776F726B2773206F6E6C7920666F72207465 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x73746E6574000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x616C726561647920617070726F766564204F5220646F206E6F74206578697374 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7320796574000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x33FE DUP2 PUSH2 0x305A JUMP JUMPDEST DUP2 EQ PUSH2 0x3409 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3415 DUP2 PUSH2 0x306C JUMP JUMPDEST DUP2 EQ PUSH2 0x3420 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x342C DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP2 EQ PUSH2 0x3437 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3443 DUP2 PUSH2 0x30A5 JUMP JUMPDEST DUP2 EQ PUSH2 0x344E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x24 SWAP14 0xD1 PUSH3 0x2C29A3 0x2D EQ 0xD6 0xE1 EXTCODECOPY SDIV 0xEF 0xA7 0xDC PUSH5 0x6F37CE9E78 DUP16 SELFBALANCE 0xC9 0xEA 0xBB 0xF8 PUSH14 0x8D2A6D64736F6C63430008040033 ", + "sourceMap": "384:8607:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8912:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7871:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8180:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3791:528;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2388:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;943:61;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7776:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7398:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;822:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7989:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5163:628;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8709:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1429:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:2;;;;;;;;;;;;;:::i;:::-;;1036:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;721:46:13;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4465:513;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8484:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6600:712;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8345:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7587:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2881:674;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;772:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;1918:198:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8912:76:13;8952:7;8976:6;;;;;;;;;;;8969:13;;8912:76;:::o;7871:113::-;7935:7;7958:13;:20;7972:5;7958:20;;;;;;;;;;;;;;;;;;;;;;;;;7951:27;;7871:113;;;:::o;8180:160::-;8251:15;;:::i;:::-;8276:17;8296:9;:22;8306:11;8296:22;;;;;;;;;;;;;;;8276:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8333:1;8326:8;;;8180:160;;;:::o;3791:528::-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3871:11:13::1;3885:9;:28;3895:17;3885:28;;;;;;;;;;;;;;;:33;;;;;;;;;;;;3871:47;;3928:24;3955:9;:28;3965:17;3955:28;;;;;;;;;;;;;;;:37;;3928:64;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4048:5;4010:43;;:9;:28;4020:17;4010:28;;;;;;;;;;;;;;;:34;;;;;;;;;;;;:43;;;4002:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;4135:4;4105:34;;:12;:19;4118:5;4105:19;;;;;;;;;;;;;;;:26;4125:5;4105:26;;;;;;;;;;;;;;;;;;;;;;::::0;;:34;4180:64:::1;;;;;;;;4189:17;4180:64;;;;;;4208:5;4180:64;;;;;;4215:4;4180:64;;;;;;4221:10;4180:64;;;;;;4233:10;4180:64;;::::0;4149:9:::1;:28;4159:17;4149:28;;;;;;;;;;;;;;;:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;4261:52;4278:5;4284:17;4302:10;4261:52;;;;;;;;:::i;:::-;;;;;;;;1318:1:2;;3791:528:13::0;:::o;2388:270::-;2456:17;2476:32;2497:10;2476:20;:32::i;:::-;2456:52;;2540:10;2523:27;;:1;:13;;;:27;;;2515:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;2606:14;2593:1;:10;;:27;;;;2651:1;2627:9;:21;2637:10;2627:21;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;2388:270;;:::o;943:61::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7776:89::-;7823:4;7846:12;;7839:19;;7776:89;:::o;7398:116::-;7459:4;7483:12;:18;7496:4;7483:18;;;;;;;;;;;;;;;:22;7502:2;7483:22;;;;;;;;;;;;;;;;;;;;;;;;;7476:29;;7398:116;;;;:::o;822:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7989:186::-;8056:10;8076:17;8096:33;8117:11;8096:20;:33::i;:::-;8076:53;;8144:1;:6;;;8137:13;;8158:11;7989:186;;;:::o;5163:628::-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5240:11:13::1;5254:9;:28;5264:17;5254:28;;;;;;;;;;;;;;;:33;;;;;;;;;;;;5240:47;;5295:24;5322:9;:28;5332:17;5322:28;;;;;;;;;;;;;;;:37;;5295:64;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5367:12;5382:13;5367:28;;5427:1;5411:7;:18;5403:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5627:9;:28;5637:17;5627:28;;;;;;;;;;;;;;;;5620:35:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;5670:13;:20;5684:5;5670:20;;;;;;;;;;;;;;;;5663:27;;;;;;;;;;;5705:16;5722:10;5705:28;;;;;;:::i;:::-;;;;;;;;;;;;;;5698:35;;;;;;;;;;;5746:39;5761:5;5767:17;5746:39;;;;;;;:::i;:::-;;;;;;;;1318:1:2;;;5163:628:13::0;:::o;8709:198::-;8770:15;;:::i;:::-;8795:14;8812:28;8834:5;8812:21;:28::i;:::-;8795:45;;8848:17;8868:9;:17;8878:6;8868:17;;;;;;;;;;;;;;;8848:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8900:1;8893:8;;;;8709:198;;;:::o;1429:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1668:101:2:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1036:85::-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;721:46:13:-;;;;;;;;;;;;;;;;;;;;;;:::o;4465:513::-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4543:11:13::1;4557:9;:28;4567:17;4557:28;;;;;;;;;;;;;;;:33;;;;;;;;;;;;4543:47;;4598:24;4625:9;:28;4635:17;4625:28;;;;;;;;;;;;;;;:37;;4598:64;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4716:5;4678:43;;:9;:28;4688:17;4678:28;;;;;;;;;;;;;;;:34;;;;;;;;;;;;:43;;;4670:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;4814:9;:28;4824:17;4814:28;;;;;;;;;;;;;;;;4807:35:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4857:13;:20;4871:5;4857:20;;;;;;;;;;;;;;;;4850:27;;;;;;;;;;;4892:16;4909:10;4892:28;;;;;;:::i;:::-;;;;;;;;;;;;;;4885:35;;;;;;;;;;;4933:39;4948:5;4954:17;4933:39;;;;;;;:::i;:::-;;;;;;;;1318:1:2;;4465:513:13::0;:::o;8484:220::-;8562:15;;:::i;:::-;8587;8605:31;8625:10;8605:19;:31::i;:::-;8587:49;;8644:17;8664:9;:18;8674:7;8664:18;;;;;;;;;;;;;;;8644:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8697:1;8690:8;;;;8484:220;;;:::o;6600:712::-;6674:22;6699:23;6717:4;6699:17;:23::i;:::-;6674:48;;6733:20;6756:6;:18;;;6733:41;;6809:10;6793:26;;:12;:26;;;6785:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;6976:4;6967:13;;:5;:13;;;6963:340;;;6996:18;7006:4;7011:2;6996:9;:18::i;:::-;7028:15;:21;7044:4;7028:21;;;;;;;;;;;;;;;7055:2;7028:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7118:2;7100:27;;;7113:4;7121:5;7100:27;;;;;;;:::i;:::-;;;;;;;;6963:340;;;7159:19;7170:4;7175:2;7159:10;:19::i;:::-;7192:15;:21;7208:4;7192:21;;;;;;;;;;;;;;;7219:2;7192:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7282:2;7264:27;;;7277:4;7285:5;7264:27;;;;;;;:::i;:::-;;;;;;;;6963:340;6600:712;;;;;:::o;8345:134::-;8421:7;8445:16;8462:10;8445:28;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8438:35;;8345:134;;;:::o;7587:104::-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7672:12:13::1;7657;:27;;;;7587:104:::0;:::o;2881:674::-;2974:22;2999:10;2974:35;;3104:51;3119:9;3129:14;3144:10;3104:14;:51::i;:::-;3187:12;;3174:9;:25;3165:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;3261:67;;;;;;;;3270:14;3261:67;;;;;;3286:9;3261:67;;;;;;3297:5;3261:67;;;;;;3312:3;3261:67;;;;;;3317:10;3261:67;;;3237:9;:21;3247:10;3237:21;;;;;;;;;;;;;;;:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3341:38;3357:9;3368:10;3341:38;;;;;;;:::i;:::-;;;;;;;;3415:9;3392:45;;;3426:10;3392:45;;;;;;:::i;:::-;;;;;;;;3446:12;3463:6;;;;;;;;;;;:11;;3482:12;;3463:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3445:54;;;3515:7;3507:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;2881:674;;;;:::o;772:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1918:198:2:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;640:96:8:-;693:7;719:10;712:17;;640:96;:::o;2270:187:2:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2270:187;;:::o;5988:100:13:-;6075:4;6050:12;:18;6063:4;6050:18;;;;;;;;;;;;;;;:22;6069:2;6050:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;5988:100;;:::o;6324:101::-;6411:5;6386:12;:18;6399:4;6386:18;;;;;;;;;;;;;;;:22;6405:2;6386:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;6324:101;;:::o;1982:325::-;2121:3;2090:35;;:13;:19;2104:4;2090:19;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;2082:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;2240:11;2218:13;:19;2232:4;2218:19;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;2290:11;2259:16;2276:10;2259:28;;;;;;:::i;:::-;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1982:325;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:17:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;358:139::-;404:5;442:6;429:20;420:29;;458:33;485:5;458:33;:::i;:::-;410:87;;;;:::o;503:133::-;546:5;584:6;571:20;562:29;;600:30;624:5;600:30;:::i;:::-;552:84;;;;:::o;642:135::-;686:5;724:6;711:20;702:29;;740:31;765:5;740:31;:::i;:::-;692:85;;;;:::o;797:273::-;853:5;902:3;895:4;887:6;883:17;879:27;869:2;;920:1;917;910:12;869:2;960:6;947:20;985:79;1060:3;1052:6;1045:4;1037:6;1033:17;985:79;:::i;:::-;976:88;;859:211;;;;;:::o;1076:139::-;1122:5;1160:6;1147:20;1138:29;;1176:33;1203:5;1176:33;:::i;:::-;1128:87;;;;:::o;1221:262::-;1280:6;1329:2;1317:9;1308:7;1304:23;1300:32;1297:2;;;1345:1;1342;1335:12;1297:2;1388:1;1413:53;1458:7;1449:6;1438:9;1434:22;1413:53;:::i;:::-;1403:63;;1359:117;1287:196;;;;:::o;1489:258::-;1546:6;1595:2;1583:9;1574:7;1570:23;1566:32;1563:2;;;1611:1;1608;1601:12;1563:2;1654:1;1679:51;1722:7;1713:6;1702:9;1698:22;1679:51;:::i;:::-;1669:61;;1625:115;1553:194;;;;:::o;1753:399::-;1817:6;1825;1874:2;1862:9;1853:7;1849:23;1845:32;1842:2;;;1890:1;1887;1880:12;1842:2;1933:1;1958:51;2001:7;1992:6;1981:9;1977:22;1958:51;:::i;:::-;1948:61;;1904:115;2058:2;2084:51;2127:7;2118:6;2107:9;2103:22;2084:51;:::i;:::-;2074:61;;2029:116;1832:320;;;;;:::o;2158:538::-;2228:6;2236;2244;2293:2;2281:9;2272:7;2268:23;2264:32;2261:2;;;2309:1;2306;2299:12;2261:2;2352:1;2377:51;2420:7;2411:6;2400:9;2396:22;2377:51;:::i;:::-;2367:61;;2323:115;2477:2;2503:51;2546:7;2537:6;2526:9;2522:22;2503:51;:::i;:::-;2493:61;;2448:116;2603:2;2629:50;2671:7;2662:6;2651:9;2647:22;2629:50;:::i;:::-;2619:60;;2574:115;2251:445;;;;;:::o;2702:516::-;2778:6;2786;2835:2;2823:9;2814:7;2810:23;2806:32;2803:2;;;2851:1;2848;2841:12;2803:2;2894:1;2919:51;2962:7;2953:6;2942:9;2938:22;2919:51;:::i;:::-;2909:61;;2865:115;3047:2;3036:9;3032:18;3019:32;3078:18;3070:6;3067:30;3064:2;;;3110:1;3107;3100:12;3064:2;3138:63;3193:7;3184:6;3173:9;3169:22;3138:63;:::i;:::-;3128:73;;2990:221;2793:425;;;;;:::o;3224:403::-;3290:6;3298;3347:2;3335:9;3326:7;3322:23;3318:32;3315:2;;;3363:1;3360;3353:12;3315:2;3406:1;3431:51;3474:7;3465:6;3454:9;3450:22;3431:51;:::i;:::-;3421:61;;3377:115;3531:2;3557:53;3602:7;3593:6;3582:9;3578:22;3557:53;:::i;:::-;3547:63;;3502:118;3305:322;;;;;:::o;3633:375::-;3702:6;3751:2;3739:9;3730:7;3726:23;3722:32;3719:2;;;3767:1;3764;3757:12;3719:2;3838:1;3827:9;3823:17;3810:31;3868:18;3860:6;3857:30;3854:2;;;3900:1;3897;3890:12;3854:2;3928:63;3983:7;3974:6;3963:9;3959:22;3928:63;:::i;:::-;3918:73;;3781:220;3709:299;;;;:::o;4014:262::-;4073:6;4122:2;4110:9;4101:7;4097:23;4093:32;4090:2;;;4138:1;4135;4128:12;4090:2;4181:1;4206:53;4251:7;4242:6;4231:9;4227:22;4206:53;:::i;:::-;4196:63;;4152:117;4080:196;;;;:::o;4282:108::-;4359:24;4377:5;4359:24;:::i;:::-;4354:3;4347:37;4337:53;;:::o;4396:118::-;4483:24;4501:5;4483:24;:::i;:::-;4478:3;4471:37;4461:53;;:::o;4520:99::-;4591:21;4606:5;4591:21;:::i;:::-;4586:3;4579:34;4569:50;;:::o;4625:109::-;4706:21;4721:5;4706:21;:::i;:::-;4701:3;4694:34;4684:50;;:::o;4740:102::-;4813:22;4829:5;4813:22;:::i;:::-;4808:3;4801:35;4791:51;;:::o;4848:112::-;4931:22;4947:5;4931:22;:::i;:::-;4926:3;4919:35;4909:51;;:::o;4966:344::-;5044:3;5072:39;5105:5;5072:39;:::i;:::-;5127:61;5181:6;5176:3;5127:61;:::i;:::-;5120:68;;5197:52;5242:6;5237:3;5230:4;5223:5;5219:16;5197:52;:::i;:::-;5274:29;5296:6;5274:29;:::i;:::-;5269:3;5265:39;5258:46;;5048:262;;;;;:::o;5316:364::-;5404:3;5432:39;5465:5;5432:39;:::i;:::-;5487:71;5551:6;5546:3;5487:71;:::i;:::-;5480:78;;5567:52;5612:6;5607:3;5600:4;5593:5;5589:16;5567:52;:::i;:::-;5644:29;5666:6;5644:29;:::i;:::-;5639:3;5635:39;5628:46;;5408:272;;;;;:::o;5686:377::-;5792:3;5820:39;5853:5;5820:39;:::i;:::-;5875:89;5957:6;5952:3;5875:89;:::i;:::-;5868:96;;5973:52;6018:6;6013:3;6006:4;5999:5;5995:16;5973:52;:::i;:::-;6050:6;6045:3;6041:16;6034:23;;5796:267;;;;;:::o;6069:366::-;6211:3;6232:67;6296:2;6291:3;6232:67;:::i;:::-;6225:74;;6308:93;6397:3;6308:93;:::i;:::-;6426:2;6421:3;6417:12;6410:19;;6215:220;;;:::o;6441:366::-;6583:3;6604:67;6668:2;6663:3;6604:67;:::i;:::-;6597:74;;6680:93;6769:3;6680:93;:::i;:::-;6798:2;6793:3;6789:12;6782:19;;6587:220;;;:::o;6813:366::-;6955:3;6976:67;7040:2;7035:3;6976:67;:::i;:::-;6969:74;;7052:93;7141:3;7052:93;:::i;:::-;7170:2;7165:3;7161:12;7154:19;;6959:220;;;:::o;7185:366::-;7327:3;7348:67;7412:2;7407:3;7348:67;:::i;:::-;7341:74;;7424:93;7513:3;7424:93;:::i;:::-;7542:2;7537:3;7533:12;7526:19;;7331:220;;;:::o;7557:366::-;7699:3;7720:67;7784:2;7779:3;7720:67;:::i;:::-;7713:74;;7796:93;7885:3;7796:93;:::i;:::-;7914:2;7909:3;7905:12;7898:19;;7703:220;;;:::o;7929:366::-;8071:3;8092:67;8156:2;8151:3;8092:67;:::i;:::-;8085:74;;8168:93;8257:3;8168:93;:::i;:::-;8286:2;8281:3;8277:12;8270:19;;8075:220;;;:::o;8301:366::-;8443:3;8464:67;8528:2;8523:3;8464:67;:::i;:::-;8457:74;;8540:93;8629:3;8540:93;:::i;:::-;8658:2;8653:3;8649:12;8642:19;;8447:220;;;:::o;8673:366::-;8815:3;8836:67;8900:2;8895:3;8836:67;:::i;:::-;8829:74;;8912:93;9001:3;8912:93;:::i;:::-;9030:2;9025:3;9021:12;9014:19;;8819:220;;;:::o;9045:366::-;9187:3;9208:67;9272:2;9267:3;9208:67;:::i;:::-;9201:74;;9284:93;9373:3;9284:93;:::i;:::-;9402:2;9397:3;9393:12;9386:19;;9191:220;;;:::o;9417:398::-;9576:3;9597:83;9678:1;9673:3;9597:83;:::i;:::-;9590:90;;9689:93;9778:3;9689:93;:::i;:::-;9807:1;9802:3;9798:11;9791:18;;9580:235;;;:::o;9885:1144::-;10006:3;10042:4;10037:3;10033:14;10136:4;10129:5;10125:16;10119:23;10155:63;10212:4;10207:3;10203:14;10189:12;10155:63;:::i;:::-;10057:171;10310:4;10303:5;10299:16;10293:23;10329:59;10382:4;10377:3;10373:14;10359:12;10329:59;:::i;:::-;10238:160;10481:4;10474:5;10470:16;10464:23;10500:57;10551:4;10546:3;10542:14;10528:12;10500:57;:::i;:::-;10408:159;10661:4;10654:5;10650:16;10644:23;10680:63;10737:4;10732:3;10728:14;10714:12;10680:63;:::i;:::-;10577:176;10839:4;10832:5;10828:16;10822:23;10892:3;10886:4;10882:14;10875:4;10870:3;10866:14;10859:38;10918:73;10986:4;10972:12;10918:73;:::i;:::-;10910:81;;10763:239;11019:4;11012:11;;10011:1018;;;;;:::o;11035:118::-;11122:24;11140:5;11122:24;:::i;:::-;11117:3;11110:37;11100:53;;:::o;11159:275::-;11291:3;11313:95;11404:3;11395:6;11313:95;:::i;:::-;11306:102;;11425:3;11418:10;;11295:139;;;;:::o;11440:379::-;11624:3;11646:147;11789:3;11646:147;:::i;:::-;11639:154;;11810:3;11803:10;;11628:191;;;:::o;11825:222::-;11918:4;11956:2;11945:9;11941:18;11933:26;;11969:71;12037:1;12026:9;12022:17;12013:6;11969:71;:::i;:::-;11923:124;;;;:::o;12053:735::-;12268:4;12306:3;12295:9;12291:19;12283:27;;12320:71;12388:1;12377:9;12373:17;12364:6;12320:71;:::i;:::-;12401:68;12465:2;12454:9;12450:18;12441:6;12401:68;:::i;:::-;12479:66;12541:2;12530:9;12526:18;12517:6;12479:66;:::i;:::-;12555:72;12623:2;12612:9;12608:18;12599:6;12555:72;:::i;:::-;12675:9;12669:4;12665:20;12659:3;12648:9;12644:19;12637:49;12703:78;12776:4;12767:6;12703:78;:::i;:::-;12695:86;;12273:515;;;;;;;;:::o;12794:210::-;12881:4;12919:2;12908:9;12904:18;12896:26;;12932:65;12994:1;12983:9;12979:17;12970:6;12932:65;:::i;:::-;12886:118;;;;:::o;13010:214::-;13099:4;13137:2;13126:9;13122:18;13114:26;;13150:67;13214:1;13203:9;13199:17;13190:6;13150:67;:::i;:::-;13104:120;;;;:::o;13230:324::-;13347:4;13385:2;13374:9;13370:18;13362:26;;13398:67;13462:1;13451:9;13447:17;13438:6;13398:67;:::i;:::-;13475:72;13543:2;13532:9;13528:18;13519:6;13475:72;:::i;:::-;13352:202;;;;;:::o;13560:434::-;13705:4;13743:2;13732:9;13728:18;13720:26;;13756:67;13820:1;13809:9;13805:17;13796:6;13756:67;:::i;:::-;13833:72;13901:2;13890:9;13886:18;13877:6;13833:72;:::i;:::-;13915;13983:2;13972:9;13968:18;13959:6;13915:72;:::i;:::-;13710:284;;;;;;:::o;14000:312::-;14111:4;14149:2;14138:9;14134:18;14126:26;;14162:67;14226:1;14215:9;14211:17;14202:6;14162:67;:::i;:::-;14239:66;14301:2;14290:9;14286:18;14277:6;14239:66;:::i;:::-;14116:196;;;;;:::o;14318:419::-;14484:4;14522:2;14511:9;14507:18;14499:26;;14571:9;14565:4;14561:20;14557:1;14546:9;14542:17;14535:47;14599:131;14725:4;14599:131;:::i;:::-;14591:139;;14489:248;;;:::o;14743:419::-;14909:4;14947:2;14936:9;14932:18;14924:26;;14996:9;14990:4;14986:20;14982:1;14971:9;14967:17;14960:47;15024:131;15150:4;15024:131;:::i;:::-;15016:139;;14914:248;;;:::o;15168:419::-;15334:4;15372:2;15361:9;15357:18;15349:26;;15421:9;15415:4;15411:20;15407:1;15396:9;15392:17;15385:47;15449:131;15575:4;15449:131;:::i;:::-;15441:139;;15339:248;;;:::o;15593:419::-;15759:4;15797:2;15786:9;15782:18;15774:26;;15846:9;15840:4;15836:20;15832:1;15821:9;15817:17;15810:47;15874:131;16000:4;15874:131;:::i;:::-;15866:139;;15764:248;;;:::o;16018:419::-;16184:4;16222:2;16211:9;16207:18;16199:26;;16271:9;16265:4;16261:20;16257:1;16246:9;16242:17;16235:47;16299:131;16425:4;16299:131;:::i;:::-;16291:139;;16189:248;;;:::o;16443:419::-;16609:4;16647:2;16636:9;16632:18;16624:26;;16696:9;16690:4;16686:20;16682:1;16671:9;16667:17;16660:47;16724:131;16850:4;16724:131;:::i;:::-;16716:139;;16614:248;;;:::o;16868:419::-;17034:4;17072:2;17061:9;17057:18;17049:26;;17121:9;17115:4;17111:20;17107:1;17096:9;17092:17;17085:47;17149:131;17275:4;17149:131;:::i;:::-;17141:139;;17039:248;;;:::o;17293:419::-;17459:4;17497:2;17486:9;17482:18;17474:26;;17546:9;17540:4;17536:20;17532:1;17521:9;17517:17;17510:47;17574:131;17700:4;17574:131;:::i;:::-;17566:139;;17464:248;;;:::o;17718:419::-;17884:4;17922:2;17911:9;17907:18;17899:26;;17971:9;17965:4;17961:20;17957:1;17946:9;17942:17;17935:47;17999:131;18125:4;17999:131;:::i;:::-;17991:139;;17889:248;;;:::o;18143:377::-;18288:4;18326:2;18315:9;18311:18;18303:26;;18375:9;18369:4;18365:20;18361:1;18350:9;18346:17;18339:47;18403:110;18508:4;18499:6;18403:110;:::i;:::-;18395:118;;18293:227;;;;:::o;18526:222::-;18619:4;18657:2;18646:9;18642:18;18634:26;;18670:71;18738:1;18727:9;18723:17;18714:6;18670:71;:::i;:::-;18624:124;;;;:::o;18754:129::-;18788:6;18815:20;;:::i;:::-;18805:30;;18844:33;18872:4;18864:6;18844:33;:::i;:::-;18795:88;;;:::o;18889:75::-;18922:6;18955:2;18949:9;18939:19;;18929:35;:::o;18970:308::-;19032:4;19122:18;19114:6;19111:30;19108:2;;;19144:18;;:::i;:::-;19108:2;19182:29;19204:6;19182:29;:::i;:::-;19174:37;;19266:4;19260;19256:15;19248:23;;19037:241;;;:::o;19284:99::-;19336:6;19370:5;19364:12;19354:22;;19343:40;;;:::o;19389:147::-;19490:11;19527:3;19512:18;;19502:34;;;;:::o;19542:159::-;19616:11;19650:6;19645:3;19638:19;19690:4;19685:3;19681:14;19666:29;;19628:73;;;;:::o;19707:169::-;19791:11;19825:6;19820:3;19813:19;19865:4;19860:3;19856:14;19841:29;;19803:73;;;;:::o;19882:148::-;19984:11;20021:3;20006:18;;19996:34;;;;:::o;20036:96::-;20073:7;20102:24;20120:5;20102:24;:::i;:::-;20091:35;;20081:51;;;:::o;20138:90::-;20172:7;20215:5;20208:13;20201:21;20190:32;;20180:48;;;:::o;20234:90::-;20269:7;20312:5;20309:1;20298:20;20287:31;;20277:47;;;:::o;20330:126::-;20367:7;20407:42;20400:5;20396:54;20385:65;;20375:81;;;:::o;20462:77::-;20499:7;20528:5;20517:16;;20507:32;;;:::o;20545:154::-;20629:6;20624:3;20619;20606:30;20691:1;20682:6;20677:3;20673:16;20666:27;20596:103;;;:::o;20705:307::-;20773:1;20783:113;20797:6;20794:1;20791:13;20783:113;;;20882:1;20877:3;20873:11;20867:18;20863:1;20858:3;20854:11;20847:39;20819:2;20816:1;20812:10;20807:15;;20783:113;;;20914:6;20911:1;20908:13;20905:2;;;20994:1;20985:6;20980:3;20976:16;20969:27;20905:2;20754:258;;;;:::o;21018:320::-;21062:6;21099:1;21093:4;21089:12;21079:22;;21146:1;21140:4;21136:12;21167:18;21157:2;;21223:4;21215:6;21211:17;21201:27;;21157:2;21285;21277:6;21274:14;21254:18;21251:38;21248:2;;;21304:18;;:::i;:::-;21248:2;21069:269;;;;:::o;21344:281::-;21427:27;21449:4;21427:27;:::i;:::-;21419:6;21415:40;21557:6;21545:10;21542:22;21521:18;21509:10;21506:34;21503:62;21500:2;;;21568:18;;:::i;:::-;21500:2;21608:10;21604:2;21597:22;21387:238;;;:::o;21631:180::-;21679:77;21676:1;21669:88;21776:4;21773:1;21766:15;21800:4;21797:1;21790:15;21817:180;21865:77;21862:1;21855:88;21962:4;21959:1;21952:15;21986:4;21983:1;21976:15;22003:102;22044:6;22095:2;22091:7;22086:2;22079:5;22075:14;22071:28;22061:38;;22051:54;;;:::o;22111:225::-;22251:34;22247:1;22239:6;22235:14;22228:58;22320:8;22315:2;22307:6;22303:15;22296:33;22217:119;:::o;22342:172::-;22482:24;22478:1;22470:6;22466:14;22459:48;22448:66;:::o;22520:235::-;22660:34;22656:1;22648:6;22644:14;22637:58;22729:18;22724:2;22716:6;22712:15;22705:43;22626:129;:::o;22761:174::-;22901:26;22897:1;22889:6;22885:14;22878:50;22867:68;:::o;22941:251::-;23081:34;23077:1;23069:6;23065:14;23058:58;23150:34;23145:2;23137:6;23133:15;23126:59;23047:145;:::o;23198:181::-;23338:33;23334:1;23326:6;23322:14;23315:57;23304:75;:::o;23385:182::-;23525:34;23521:1;23513:6;23509:14;23502:58;23491:76;:::o;23573:224::-;23713:34;23709:1;23701:6;23697:14;23690:58;23782:7;23777:2;23769:6;23765:15;23758:32;23679:118;:::o;23803:224::-;23943:34;23939:1;23931:6;23927:14;23920:58;24012:7;24007:2;23999:6;23995:15;23988:32;23909:118;:::o;24033:114::-;24139:8;:::o;24153:122::-;24226:24;24244:5;24226:24;:::i;:::-;24219:5;24216:35;24206:2;;24265:1;24262;24255:12;24206:2;24196:79;:::o;24281:116::-;24351:21;24366:5;24351:21;:::i;:::-;24344:5;24341:32;24331:2;;24387:1;24384;24377:12;24331:2;24321:76;:::o;24403:118::-;24474:22;24490:5;24474:22;:::i;:::-;24467:5;24464:33;24454:2;;24511:1;24508;24501:12;24454:2;24444:77;:::o;24527:122::-;24600:24;24618:5;24600:24;:::i;:::-;24593:5;24590:35;24580:2;;24639:1;24636;24629:12;24580:2;24570:79;:::o" + }, + "methodIdentifiers": { + "ApplyForPassport(int64,string)": "d5998aeb", + "ApprovePassport(address)": "1755e9e6", + "DeclinePassport(address)": "9421da61", + "DeletePassport(address)": "65104afc", + "GetOwner()": "0ae50a39", + "GetPassportByAddress(address)": "1423ea07", + "GetPassportByNickName(string)": "b25047c2", + "GetPassportByTgId(int64)": "65a5637e", + "GetPassportFee()": "48dc1561", + "GetPassportWalletByID(int64)": "0c2fc6e3", + "GetTgIdByAddress(address)": "61cabe37", + "GetTrust(int64,int64)": "4ac054bb", + "GetWalletByNickName(string)": "d2114e18", + "SetPassportFee(uint256)": "d2125bd2", + "SetTrustToID(int64,int64,bool)": "b910c898", + "UpdateUserName(string)": "21e6531d", + "opinion_changed(int64,uint256)": "6a8ec05e", + "owner()": "8da5cb5b", + "passports(address)": "e37c132b", + "renounceOwnership()": "715018a6", + "tgIdToAddress(int64)": "9413c642", + "transferOwnership(address)": "f2fde38b", + "trust_global(int64,int64)": "239f60fa", + "username_wallets(string)": "59cca93b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"from\",\"type\":\"int64\"},{\"indexed\":true,\"internalType\":\"int64\",\"name\":\"to\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"trust\",\"type\":\"bool\"}],\"name\":\"TrustChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wallet_address\",\"type\":\"address\"}],\"name\":\"passportApplied\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wallet_address\",\"type\":\"address\"}],\"name\":\"passportAppliedIndexed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"}],\"name\":\"passportApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"}],\"name\":\"passportDenied\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"internalType\":\"string\",\"name\":\"user_name_\",\"type\":\"string\"}],\"name\":\"ApplyForPassport\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passportToApprove\",\"type\":\"address\"}],\"name\":\"ApprovePassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passportToDecline\",\"type\":\"address\"}],\"name\":\"DeclinePassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passportToDecline\",\"type\":\"address\"}],\"name\":\"DeletePassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GetOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user_wallet\",\"type\":\"address\"}],\"name\":\"GetPassportByAddress\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"userName\",\"type\":\"string\"}],\"internalType\":\"struct TGPassport.Passport\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"user_name_\",\"type\":\"string\"}],\"name\":\"GetPassportByNickName\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"userName\",\"type\":\"string\"}],\"internalType\":\"struct TGPassport.Passport\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"tgId_\",\"type\":\"int64\"}],\"name\":\"GetPassportByTgId\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"userName\",\"type\":\"string\"}],\"internalType\":\"struct TGPassport.Passport\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GetPassportFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"tgId_\",\"type\":\"int64\"}],\"name\":\"GetPassportWalletByID\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user_wallet\",\"type\":\"address\"}],\"name\":\"GetTgIdByAddress\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"tgid\",\"type\":\"int64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"from\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"to\",\"type\":\"int64\"}],\"name\":\"GetTrust\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"user_name_\",\"type\":\"string\"}],\"name\":\"GetWalletByNickName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"passportFee_\",\"type\":\"uint256\"}],\"name\":\"SetPassportFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"from\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"to\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"trust\",\"type\":\"bool\"}],\"name\":\"SetTrustToID\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"new_user_name_\",\"type\":\"string\"}],\"name\":\"UpdateUserName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"opinion_changed\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"passports\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"userName\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"name\":\"tgIdToAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"name\":\"trust_global\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"username_wallets\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"ApplyForPassport(int64,string)\":{\"params\":{\"applyerTg\":\"unic id for telegram user, in telegram it's int64 (number)\",\"user_name_\":\"is username (like @username)*\"}},\"ApprovePassport(address)\":{\"params\":{\"passportToApprove\":\"address of user wallet which attached to him\"}},\"DeclinePassport(address)\":{\"params\":{\"passportToDecline\":\"address of user wallet\"}},\"DeletePassport(address)\":{\"details\":\"This function is a service function which allow Owner to erase already approved passport and make clean state contract. NOT FOR USE IN PRODUCTION\"},\"GetPassportFee()\":{\"details\":\"getter to obtain how much user will pay for apply\"},\"SetPassportFee(uint256)\":{\"details\":\"setting fee for applying for passport\"},\"SetTrustToID(int64,int64,bool)\":{\"details\":\"set trust 'from' tgid 'to' tgid\"},\"UpdateUserName(string)\":{\"details\":\"This function update user nicname if user change it\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ApplyForPassport(int64,string)\":{\"notice\":\"This function for USER who try to obtain some tg_id\"},\"ApprovePassport(address)\":{\"notice\":\"This function approving passport (use for bot) which approve that user owns it's tg_id and nicname he want to attach with\"},\"DeclinePassport(address)\":{\"notice\":\"This function decline application end erase junk data\"},\"GetTrust(int64,int64)\":{\"notice\":\"get to know if tgid from trust tgid to\"},\"opinion_changed(int64,uint256)\":{\"notice\":\" 1. by defult user TRUST N0 0NE. 2. we can get int64[] opinion_changed, so we get array of user who express trust/untrust to specific user 3. then we can call GetTrust(user_from,user_to) for each of result from opinion_changed, and get arrays of trusters/untrusters attached to specific user ..... possibly there is a better way to do it\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/TGPassport.sol\":\"TGPassport\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/TGPassport.sol\":{\"keccak256\":\"0x52865a08e7e8312183726b929f52c223009699aeaf597666d038ee7349baa3b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eba014fcc483e421a761eaa985074b30dab133a32a7b347449a75860cace3e90\",\"dweb:/ipfs/Qmd75cnT51zsyASrTHd5RdQ3GBtcwTt69gTqocww6YWwo6\"]}},\"version\":1}" + } + }, + "contracts/Union.sol": { + "Union": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "passportContract_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int64", + "name": "chat_id", + "type": "int64" + }, + { + "indexed": false, + "internalType": "int64", + "name": "applier_id", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "multy_wallet_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum Union.VotingType", + "name": "vote_type", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "voting_token_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "group_name", + "type": "string" + } + ], + "name": "ApplicationForJoin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "int64", + "name": "chat_id", + "type": "int64" + }, + { + "indexed": false, + "internalType": "int64", + "name": "applier_id", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "multy_wallet_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum Union.VotingType", + "name": "vote_type", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "voting_token_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "group_name", + "type": "string" + } + ], + "name": "ApplicationForJoinIndexed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int256", + "name": "chat_id", + "type": "int256" + }, + { + "indexed": false, + "internalType": "address", + "name": "multy_wallet_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum Union.VotingType", + "name": "vote_type", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "voting_token_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "group_name", + "type": "string" + } + ], + "name": "ApprovedJoin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int256", + "name": "chat_id", + "type": "int256" + }, + { + "indexed": false, + "internalType": "address", + "name": "multy_wallet_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum Union.VotingType", + "name": "vote_type", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "voting_token_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "group_name", + "type": "string" + } + ], + "name": "DeclinedApplication", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "internalType": "int64", + "name": "daoTg", + "type": "int64" + }, + { + "internalType": "address", + "name": "dao_", + "type": "address" + }, + { + "internalType": "enum Union.VotingType", + "name": "votingType_", + "type": "uint8" + }, + { + "internalType": "address", + "name": "votingTokenContract_", + "type": "address" + }, + { + "internalType": "string", + "name": "dao_name_", + "type": "string" + } + ], + "name": "ApplyForUnion", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "daoAddress", + "type": "address" + } + ], + "name": "ApproveJoin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "Chat_id_array", + "outputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "daoAddress", + "type": "address" + } + ], + "name": "DeclineJoin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "name": "daoAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "daos", + "outputs": [ + { + "internalType": "address", + "name": "chatOwnerAddress", + "type": "address" + }, + { + "internalType": "int64", + "name": "tgId", + "type": "int64" + }, + { + "internalType": "bool", + "name": "valid", + "type": "bool" + }, + { + "internalType": "address", + "name": "multisigAddress", + "type": "address" + }, + { + "internalType": "enum Union.VotingType", + "name": "votingType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "votingToken", + "type": "address" + }, + { + "internalType": "string", + "name": "group_name", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "chat_id", + "type": "int64" + } + ], + "name": "getDaoAddressbyChatId", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDaoCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "moderator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tgpassport", + "outputs": [ + { + "internalType": "contract TGPassport", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:7831:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "70:80:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "80:22:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "95:6:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "89:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "89:13:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "80:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "138:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "111:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "111:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "111:33:17" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "48:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "56:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "64:5:17", + "type": "" + } + ], + "src": "7:143:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "233:207:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "279:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "288:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "291:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "281:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "281:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "281:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "254:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "263:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "250:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "250:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "275:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "246:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "246:32:17" + }, + "nodeType": "YulIf", + "src": "243:2:17" + }, + { + "nodeType": "YulBlock", + "src": "305:128:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "320:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "334:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "324:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "349:74:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "395:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "406:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "391:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "391:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "415:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "359:31:17" + }, + "nodeType": "YulFunctionCall", + "src": "359:64:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "349:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "203:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "214:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "226:6:17", + "type": "" + } + ], + "src": "156:284:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "505:50:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "522:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "542:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "527:14:17" + }, + "nodeType": "YulFunctionCall", + "src": "527:21:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "515:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "515:34:17" + }, + "nodeType": "YulExpressionStatement", + "src": "515:34:17" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "493:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "500:3:17", + "type": "" + } + ], + "src": "446:109:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "626:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "643:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "666:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "648:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "648:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "636:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "636:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "636:37:17" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "614:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "621:3:17", + "type": "" + } + ], + "src": "561:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "777:272:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "787:53:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "834:5:17" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "801:32:17" + }, + "nodeType": "YulFunctionCall", + "src": "801:39:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "791:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "849:78:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "915:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "920:6:17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "856:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "856:71:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "849:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "962:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "969:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "958:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "958:16:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "976:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "981:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "936:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "936:52:17" + }, + "nodeType": "YulExpressionStatement", + "src": "936:52:17" + }, + { + "nodeType": "YulAssignment", + "src": "997:46:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1008:3:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1035:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "1013:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "1013:29:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1004:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1004:39:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "997:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "758:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "765:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "773:3:17", + "type": "" + } + ], + "src": "685:364:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1165:267:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1175:53:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1222:5:17" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "1189:32:17" + }, + "nodeType": "YulFunctionCall", + "src": "1189:39:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1179:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1237:96:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1321:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1326:6:17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "1244:76:17" + }, + "nodeType": "YulFunctionCall", + "src": "1244:89:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1237:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1368:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1375:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1364:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1364:16:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1382:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1387:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "1342:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "1342:52:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1342:52:17" + }, + { + "nodeType": "YulAssignment", + "src": "1403:23:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1414:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1419:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1410:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1410:16:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1403:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1146:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1153:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1161:3:17", + "type": "" + } + ], + "src": "1055:377:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1584:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1594:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1660:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1665:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "1601:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "1601:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1594:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1766:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "1677:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "1677:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1677:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "1779:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1790:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1795:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1786:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1786:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1779:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1572:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1580:3:17", + "type": "" + } + ], + "src": "1438:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1974:238:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1984:92:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2068:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2073:2:17", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "1991:76:17" + }, + "nodeType": "YulFunctionCall", + "src": "1991:85:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1984:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2174:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulIdentifier", + "src": "2085:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "2085:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2085:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "2187:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2198:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2203:2:17", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2194:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2194:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2187:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1962:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1970:3:17", + "type": "" + } + ], + "src": "1810:402:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2382:238:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2392:92:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2476:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2481:2:17", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "2399:76:17" + }, + "nodeType": "YulFunctionCall", + "src": "2399:85:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2392:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2582:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "2493:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "2493:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2493:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "2595:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2606:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2611:2:17", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2602:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2602:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2595:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2370:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2378:3:17", + "type": "" + } + ], + "src": "2218:402:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3012:581:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3023:155:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3174:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "3030:142:17" + }, + "nodeType": "YulFunctionCall", + "src": "3030:148:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3023:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3188:102:17", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3277:6:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3286:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "3195:81:17" + }, + "nodeType": "YulFunctionCall", + "src": "3195:95:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3188:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3300:155:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3451:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "3307:142:17" + }, + "nodeType": "YulFunctionCall", + "src": "3307:148:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3300:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3465:102:17", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3554:6:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3563:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "3472:81:17" + }, + "nodeType": "YulFunctionCall", + "src": "3472:95:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3465:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3577:10:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3584:3:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3577:3:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2983:3:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2989:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2997:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3008:3:17", + "type": "" + } + ], + "src": "2626:967:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3691:118:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3701:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3713:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3724:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3709:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3709:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3701:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3775:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3788:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3799:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3784:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3784:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "3737:37:17" + }, + "nodeType": "YulFunctionCall", + "src": "3737:65:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3737:65:17" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3663:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3675:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3686:4:17", + "type": "" + } + ], + "src": "3599:210:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3913:124:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3923:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3935:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3946:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3931:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3931:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3923:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4003:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4016:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4027:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4012:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4012:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "3959:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "3959:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3959:71:17" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3885:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3897:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3908:4:17", + "type": "" + } + ], + "src": "3815:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4161:195:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4171:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4183:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4194:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4179:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4179:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4171:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4218:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4229:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4214:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4214:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4237:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4243:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4233:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4233:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4207:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4207:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4207:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "4263:86:17", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4335:6:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4344:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4271:63:17" + }, + "nodeType": "YulFunctionCall", + "src": "4271:78:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4263:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4133:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4145:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4156:4:17", + "type": "" + } + ], + "src": "4043:313:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4533:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4543:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4555:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4566:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4551:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4551:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4543:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4590:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4601:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4586:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4586:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4609:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4615:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4605:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4605:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4579:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4579:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4579:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "4635:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4769:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4643:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "4643:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "4635:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4513:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "4528:4:17", + "type": "" + } + ], + "src": "4362:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4846:40:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4857:22:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4873:5:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4867:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "4867:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4857:6:17" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4829:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4839:6:17", + "type": "" + } + ], + "src": "4787:99:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4988:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5005:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5010:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4998:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4998:19:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4998:19:17" + }, + { + "nodeType": "YulAssignment", + "src": "5026:29:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5045:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5050:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5041:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5041:14:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "5026:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4960:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4965:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "4976:11:17", + "type": "" + } + ], + "src": "4892:169:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5181:34:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5191:18:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5206:3:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "5191:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5153:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5158:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "5169:11:17", + "type": "" + } + ], + "src": "5067:148:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5265:261:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5275:25:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5298:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5280:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "5280:20:17" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5275:1:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5309:25:17", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5332:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5314:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "5314:20:17" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5309:1:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5472:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "5474:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "5474:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5474:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5393:1:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5400:66:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5468:1:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5396:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5396:74:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5390:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "5390:81:17" + }, + "nodeType": "YulIf", + "src": "5387:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "5504:16:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5515:1:17" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5518:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5511:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5511:9:17" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "5504:3:17" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "5252:1:17", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "5255:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "5261:3:17", + "type": "" + } + ], + "src": "5221:305:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5580:300:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5590:25:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5613:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5595:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "5595:20:17" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5590:1:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5624:25:17", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5647:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "5629:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "5629:20:17" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5624:1:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5822:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "5824:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "5824:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5824:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5734:1:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5727:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5727:9:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5720:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5720:17:17" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5742:1:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5749:66:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5817:1:17" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "5745:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5745:74:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5739:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "5739:81:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5716:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5716:105:17" + }, + "nodeType": "YulIf", + "src": "5713:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "5854:20:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "5869:1:17" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "5872:1:17" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "5865:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5865:9:17" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "5854:7:17" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "5563:1:17", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "5566:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "5572:7:17", + "type": "" + } + ], + "src": "5532:348:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5931:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5941:35:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5970:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "5952:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "5952:24:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "5941:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5913:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "5923:7:17", + "type": "" + } + ], + "src": "5886:96:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6030:48:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6040:32:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6065:5:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6058:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6058:13:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6051:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6051:21:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "6040:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6012:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "6022:7:17", + "type": "" + } + ], + "src": "5988:90:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6129:32:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6139:16:17", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6150:5:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "6139:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6111:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "6121:7:17", + "type": "" + } + ], + "src": "6084:77:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6212:81:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6222:65:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6237:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6244:42:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6233:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6233:54:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "6222:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6194:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "6204:7:17", + "type": "" + } + ], + "src": "6167:126:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6344:32:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6354:16:17", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6365:5:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "6354:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6326:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "6336:7:17", + "type": "" + } + ], + "src": "6299:77:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6431:258:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6441:10:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6450:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "6445:1:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6510:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "6535:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6540:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6531:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6531:11:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "6554:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6559:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6550:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6550:11:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "6544:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "6544:18:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6524:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6524:39:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6524:39:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6471:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6474:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "6468:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "6468:13:17" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "6482:19:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6484:15:17", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6493:1:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6496:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6489:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6489:10:17" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6484:1:17" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "6464:3:17", + "statements": [] + }, + "src": "6460:113:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6607:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "6657:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6662:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6653:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6653:16:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6671:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6646:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6646:27:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6646:27:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "6588:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6591:6:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "6585:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "6585:13:17" + }, + "nodeType": "YulIf", + "src": "6582:2:17" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "6413:3:17", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "6418:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "6423:6:17", + "type": "" + } + ], + "src": "6382:307:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6738:128:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6748:33:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6775:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "6757:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "6757:24:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6748:5:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6809:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "6811:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "6811:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6811:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6796:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6803:4:17", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6793:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "6793:15:17" + }, + "nodeType": "YulIf", + "src": "6790:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "6840:20:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6851:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6858:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "6847:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6847:13:17" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "6840:3:17" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6724:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "6734:3:17", + "type": "" + } + ], + "src": "6695:171:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6900:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6917:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6920:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6910:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6910:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6910:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7014:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7017:4:17", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7007:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7007:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7007:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7038:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7041:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7031:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7031:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7031:15:17" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "6872:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7106:54:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7116:38:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7134:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7141:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7130:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7130:14:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7150:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "7146:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7146:7:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "7126:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7126:28:17" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "7116:6:17" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7089:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "7099:6:17", + "type": "" + } + ], + "src": "7058:102:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7272:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "7294:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7302:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7290:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7290:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "7306:34:17", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7283:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7283:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7283:58:17" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "7264:6:17", + "type": "" + } + ], + "src": "7166:182:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7460:67:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "7482:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7490:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7478:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7478:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "7494:25:17", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7471:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7471:49:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7471:49:17" + } + ] + }, + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "7452:6:17", + "type": "" + } + ], + "src": "7354:173:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7639:61:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "7661:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7669:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7657:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7657:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "7673:19:17", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7650:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7650:43:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7650:43:17" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "7631:6:17", + "type": "" + } + ], + "src": "7533:167:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7749:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "7806:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7815:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7818:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "7808:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7808:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7808:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7772:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7797:5:17" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "7779:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "7779:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "7769:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "7769:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "7762:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7762:43:17" + }, + "nodeType": "YulIf", + "src": "7759:2:17" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7742:5:17", + "type": "" + } + ], + "src": "7706:122:17" + } + ] + }, + "contents": "{\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 23)\n store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(pos)\n end := add(pos, 23)\n }\n\n function abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 17)\n store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(pos)\n end := add(pos, 17)\n }\n\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\n }\n\n function store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\n }\n\n function store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "608060405262000014620001e560201b60201c565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006157600080fd5b506040516200482e3803806200482e8339818101604052810190620000879190620009f8565b620000a76200009b6200020e60201b60201c565b6200021660201b60201c565b80600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506200015f7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157620002da60201b62001d241760201c565b620001917fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157336200037d60201b60201c565b6000620001c57fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e15733620003c660201b60201c565b9050620001dd816200043160201b62001dbd1760201c565b505062000e68565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200037a81604051602401620002f1919062000b92565b6040516020818303038152906040527f27b7cf85000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050620004d460201b60201c565b50565b6200038e82620004fd60201b60201c565b620003af81620003a36200020e60201b60201c565b6200051d60201b60201c565b620003c18383620005e160201b60201c565b505050565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b620004d18160405160240162000448919062000b75565b6040516020818303038152906040527f32458eed000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050620004d460201b60201c565b50565b60008151905060006a636f6e736f6c652e6c6f679050602083016000808483855afa5050505050565b600060016000838152602001908152602001600020600101549050919050565b6200052f8282620003c660201b60201c565b620005dd57620005628173ffffffffffffffffffffffffffffffffffffffff166014620006d260201b62001e561760201c565b6200057d8360001c6020620006d260201b62001e561760201c565b6040516020016200059092919062000b33565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620005d4919062000baf565b60405180910390fd5b5050565b620005f38282620003c660201b60201c565b620006ce57600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620006736200020e60201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b606060006002836002620006e7919062000c79565b620006f3919062000c1c565b67ffffffffffffffff81111562000733577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015620007665781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110620007c5577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f78000000000000000000000000000000000000000000000000000000000000008160018151811062000850577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600262000892919062000c79565b6200089e919062000c1c565b90505b600181111562000990577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811062000908577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b82828151811062000946577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c945080620009889062000d64565b9050620008a1565b5060008414620009d7576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620009ce9062000bd3565b60405180910390fd5b8091505092915050565b600081519050620009f28162000e4e565b92915050565b60006020828403121562000a0b57600080fd5b600062000a1b84828501620009e1565b91505092915050565b62000a2f8162000cee565b82525050565b62000a408162000cfa565b82525050565b600062000a538262000bf5565b62000a5f818562000c00565b935062000a7181856020860162000d2e565b62000a7c8162000dc2565b840191505092915050565b600062000a948262000bf5565b62000aa0818562000c11565b935062000ab281856020860162000d2e565b80840191505092915050565b600062000acd60208362000c00565b915062000ada8262000dd3565b602082019050919050565b600062000af460178362000c11565b915062000b018262000dfc565b601782019050919050565b600062000b1b60118362000c11565b915062000b288262000e25565b601182019050919050565b600062000b408262000ae5565b915062000b4e828562000a87565b915062000b5b8262000b0c565b915062000b69828462000a87565b91508190509392505050565b600060208201905062000b8c600083018462000a24565b92915050565b600060208201905062000ba9600083018462000a35565b92915050565b6000602082019050818103600083015262000bcb818462000a46565b905092915050565b6000602082019050818103600083015262000bee8162000abe565b9050919050565b600081519050919050565b600082825260208201905092915050565b600081905092915050565b600062000c298262000d24565b915062000c368362000d24565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000c6e5762000c6d62000d93565b5b828201905092915050565b600062000c868262000d24565b915062000c938362000d24565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161562000ccf5762000cce62000d93565b5b828202905092915050565b600062000ce78262000d04565b9050919050565b60008115159050919050565b6000819050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b60005b8381101562000d4e57808201518184015260208101905062000d31565b8381111562000d5e576000848401525b50505050565b600062000d718262000d24565b9150600082141562000d885762000d8762000d93565b5b600182039050919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b62000e598162000cda565b811462000e6557600080fd5b50565b6139b68062000e786000396000f3fe60806040526004361061011f5760003560e01c8063a217fddf116100a0578063d547741f11610064578063d547741f146103cc578063d698b364146103f5578063d6b2da8e14610432578063e57bede41461046f578063f2fde38b146104ac5761011f565b8063a217fddf146102ee578063ad8f866014610319578063b9f7076f14610342578063c25f3cf61461035e578063d4d8f892146103a15761011f565b806338743904116100e75780633874390414610219578063715018a6146102445780637527d5a11461025b5780638da5cb5b1461028657806391d14854146102b15761011f565b806301ffc9a714610124578063248a9ca3146101615780632f2ff15d1461019e57806336568abe146101c757806336b9f727146101f0575b600080fd5b34801561013057600080fd5b5061014b60048036038101906101469190612a47565b6104d5565b6040516101589190612f4d565b60405180910390f35b34801561016d57600080fd5b50610188600480360381019061018391906129e2565b61054f565b6040516101959190612f68565b60405180910390f35b3480156101aa57600080fd5b506101c560048036038101906101c09190612a0b565b61056f565b005b3480156101d357600080fd5b506101ee60048036038101906101e99190612a0b565b610598565b005b3480156101fc57600080fd5b5061021760048036038101906102129190612967565b61061b565b005b34801561022557600080fd5b5061022e610b24565b60405161023b9190612f68565b60405180910390f35b34801561025057600080fd5b50610259610b48565b005b34801561026757600080fd5b50610270610bd0565b60405161027d9190612f9e565b60405180910390f35b34801561029257600080fd5b5061029b610bf6565b6040516102a89190612ebc565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d39190612a0b565b610c1f565b6040516102e59190612f4d565b60405180910390f35b3480156102fa57600080fd5b50610303610c8a565b6040516103109190612f68565b60405180910390f35b34801561032557600080fd5b50610340600480360381019061033b9190612967565b610c91565b005b61035c60048036038101906103579190612a99565b6112a5565b005b34801561036a57600080fd5b5061038560048036038101906103809190612967565b6119ef565b6040516103989796959493929190612ed7565b60405180910390f35b3480156103ad57600080fd5b506103b6611b40565b6040516103c39190613252565b60405180910390f35b3480156103d857600080fd5b506103f360048036038101906103ee9190612a0b565b611b51565b005b34801561040157600080fd5b5061041c60048036038101906104179190612b3a565b611b7a565b6040516104299190612fb9565b60405180910390f35b34801561043e57600080fd5b5061045960048036038101906104549190612a70565b611bb1565b6040516104669190612ebc565b60405180910390f35b34801561047b57600080fd5b5061049660048036038101906104919190612a70565b611be4565b6040516104a39190612ebc565b60405180910390f35b3480156104b857600080fd5b506104d360048036038101906104ce9190612967565b611c2c565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610548575061054782612150565b5b9050919050565b600060016000838152602001908152602001600020600101549050919050565b6105788261054f565b610589816105846121ba565b6121c2565b610593838361225f565b505050565b6105a06121ba565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461060d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060490613232565b60405180910390fd5b610617828261233f565b5050565b6106236121ba565b73ffffffffffffffffffffffffffffffffffffffff16610641610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068e906131f2565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610812577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281111561084a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820180546108b490613504565b80601f01602080910402602001604051908101604052809291908181526020018280546108e090613504565b801561092d5780601f106109025761010080835404028352916020019161092d565b820191906000526020600020905b81548152906001019060200180831161091057829003601f168201915b5050505050815250509050600015158160400151151514610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90613212565b60405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160146101000a81549060ff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610a8b919061274a565b505060046000826020015160070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fd06e11c55c5f21676305517c655a0188744d3bee09361e15470276872d56a0b98160200151826060015183608001518460a001518560c00151604051610b18959493929190612fd4565b60405180910390a15050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e15781565b610b506121ba565b73ffffffffffffffffffffffffffffffffffffffff16610b6e610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbb906131f2565b60405180910390fd5b610bce6000612421565b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b610c996121ba565b73ffffffffffffffffffffffffffffffffffffffff16610cb7610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d04906131f2565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610e88577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610ec0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610f2a90613504565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5690613504565b8015610fa35780601f10610f7857610100808354040283529160200191610fa3565b820191906000526020600020905b815481529060010190602001808311610f8657829003601f168201915b5050505050815250509050600015158160400151151514610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090613212565b60405180910390fd5b600181604001901515908115158152505080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff0219169083600281111561117b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906111e392919061278a565b509050506111f160066124e5565b6005816020015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055507f19c3744c2d10eda4d05b727f02a712a414539c26678f5f988d98f9635afcac288160200151826060015183608001518460a001518560c00151604051611299959493929190612fd4565b60405180910390a15050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c2fc6e3886040518263ffffffff1660e01b81526004016113029190612fb9565b60206040518083038186803b15801561131a57600080fd5b505afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190612990565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b990613132565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460008860070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461146a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611461906131b2565b60405180910390fd5b84600460008860070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006114ce85856124fb565b90506001151581151514611517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150e906131d2565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166348dc15616040518163ffffffff1660e01b815260040160206040518083038186803b15801561157f57600080fd5b505afa158015611593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b79190612b63565b6002819055506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018860070b81526020016000151581526020018773ffffffffffffffffffffffffffffffffffffffff16815260200186600281111561164b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff021916908360028111156117e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c082015181600301908051906020019061184892919061278a565b509050506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660025460405161189690612e6d565b60006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b505090508061191c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191390613172565b60405180910390fd5b6002543414611960576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195790613192565b60405180910390fd5b7f0ae33dac4eb1cdcaf489d2a9a56c45d17257612cad7c531513d4e425951349e2888a8989898960405161199996959493929190613088565b60405180910390a18760070b7fefcac77603ca996faafa29a1d72a90249e186f4a4af6ad89434b18a66b6e9cd98a898989896040516119dc95949392919061302e565b60405180910390a2505050505050505050565b60076020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003018054611abd90613504565b80601f0160208091040260200160405190810160405280929190818152602001828054611ae990613504565b8015611b365780601f10611b0b57610100808354040283529160200191611b36565b820191906000526020600020905b815481529060010190602001808311611b1957829003601f168201915b5050505050905087565b6000611b4c6006612713565b905090565b611b5a8261054f565b611b6b81611b666121ba565b6121c2565b611b75838361233f565b505050565b60058181548110611b8a57600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600460008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080915050919050565b611c346121ba565b73ffffffffffffffffffffffffffffffffffffffff16611c52610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614611ca8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9f906131f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0f90613152565b60405180910390fd5b611d2181612421565b50565b611dba81604051602401611d389190612f68565b6040516020818303038152906040527f27b7cf85000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612721565b50565b611e5381604051602401611dd19190612f4d565b6040516020818303038152906040527f32458eed000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612721565b50565b606060006002836002611e69919061334b565b611e7391906132f5565b67ffffffffffffffff811115611eb2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611ee45781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611f42577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611fcc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261200c919061334b565b61201691906132f5565b90505b6001811115612102577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061207e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b8282815181106120bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806120fb906134da565b9050612019565b5060008414612146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213d90613112565b60405180910390fd5b8091505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b6121cc8282610c1f565b61225b576121f18173ffffffffffffffffffffffffffffffffffffffff166014611e56565b6121ff8360001c6020611e56565b604051602001612210929190612e82565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225291906130f0565b60405180910390fd5b5050565b6122698282610c1f565b61233b57600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506122e06121ba565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6123498282610c1f565b1561241d5760006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506123c26121ba565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b6000600280811115612536577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561256f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b141561260c578173ffffffffffffffffffffffffffffffffffffffff166301ffc9a763780e9d6360e01b6040518263ffffffff1660e01b81526004016125b59190612f83565b60206040518083038186803b1580156125cd57600080fd5b505afa1580156125e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260591906129b9565b905061270d565b60006002811115612646577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561267f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b141561270c5760128273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156126cd57600080fd5b505afa1580156126e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127059190612b8c565b60ff161490505b5b92915050565b600081600001549050919050565b60008151905060006a636f6e736f6c652e6c6f679050602083016000808483855afa5050505050565b50805461275690613504565b6000825580601f106127685750612787565b601f0160209004906000526020600020908101906127869190612810565b5b50565b82805461279690613504565b90600052602060002090601f0160209004810192826127b857600085556127ff565b82601f106127d157805160ff19168380011785556127ff565b828001600101855582156127ff579182015b828111156127fe5782518255916020019190600101906127e3565b5b50905061280c9190612810565b5090565b5b80821115612829576000816000905550600101612811565b5090565b600061284061283b84613292565b61326d565b90508281526020810184848401111561285857600080fd5b612863848285613498565b509392505050565b60008135905061287a816138cf565b92915050565b60008151905061288f816138cf565b92915050565b6000815190506128a4816138e6565b92915050565b6000813590506128b9816138fd565b92915050565b6000813590506128ce81613914565b92915050565b6000813590506128e38161392b565b92915050565b6000813590506128f88161393b565b92915050565b600082601f83011261290f57600080fd5b813561291f84826020860161282d565b91505092915050565b60008135905061293781613952565b92915050565b60008151905061294c81613952565b92915050565b60008151905061296181613969565b92915050565b60006020828403121561297957600080fd5b60006129878482850161286b565b91505092915050565b6000602082840312156129a257600080fd5b60006129b084828501612880565b91505092915050565b6000602082840312156129cb57600080fd5b60006129d984828501612895565b91505092915050565b6000602082840312156129f457600080fd5b6000612a02848285016128aa565b91505092915050565b60008060408385031215612a1e57600080fd5b6000612a2c858286016128aa565b9250506020612a3d8582860161286b565b9150509250929050565b600060208284031215612a5957600080fd5b6000612a67848285016128bf565b91505092915050565b600060208284031215612a8257600080fd5b6000612a90848285016128e9565b91505092915050565b60008060008060008060c08789031215612ab257600080fd5b6000612ac089828a016128e9565b9650506020612ad189828a016128e9565b9550506040612ae289828a0161286b565b9450506060612af389828a016128d4565b9350506080612b0489828a0161286b565b92505060a087013567ffffffffffffffff811115612b2157600080fd5b612b2d89828a016128fe565b9150509295509295509295565b600060208284031215612b4c57600080fd5b6000612b5a84828501612928565b91505092915050565b600060208284031215612b7557600080fd5b6000612b838482850161293d565b91505092915050565b600060208284031215612b9e57600080fd5b6000612bac84828501612952565b91505092915050565b612bbe816133a5565b82525050565b612bcd816133b7565b82525050565b612bdc816133c3565b82525050565b612beb816133cd565b82525050565b612bfa81613450565b82525050565b612c0981613474565b82525050565b612c1881613486565b82525050565b612c278161340c565b82525050565b6000612c38826132c3565b612c4281856132d9565b9350612c528185602086016134a7565b612c5b81613623565b840191505092915050565b6000612c71826132c3565b612c7b81856132ea565b9350612c8b8185602086016134a7565b80840191505092915050565b6000612ca46020836132d9565b9150612caf82613634565b602082019050919050565b6000612cc7601d836132d9565b9150612cd28261365d565b602082019050919050565b6000612cea6026836132d9565b9150612cf582613686565b604082019050919050565b6000612d0d6016836132d9565b9150612d18826136d5565b602082019050919050565b6000612d306018836132d9565b9150612d3b826136fe565b602082019050919050565b6000612d53601c836132d9565b9150612d5e82613727565b602082019050919050565b6000612d76602f836132d9565b9150612d8182613750565b604082019050919050565b6000612d996020836132d9565b9150612da48261379f565b602082019050919050565b6000612dbc6000836132ce565b9150612dc7826137c8565b600082019050919050565b6000612ddf6017836132ea565b9150612dea826137cb565b601782019050919050565b6000612e026032836132d9565b9150612e0d826137f4565b604082019050919050565b6000612e256011836132ea565b9150612e3082613843565b601182019050919050565b6000612e48602f836132d9565b9150612e538261386c565b604082019050919050565b612e6781613439565b82525050565b6000612e7882612daf565b9150819050919050565b6000612e8d82612dd2565b9150612e998285612c66565b9150612ea482612e18565b9150612eb08284612c66565b91508190509392505050565b6000602082019050612ed16000830184612bb5565b92915050565b600060e082019050612eec600083018a612bb5565b612ef96020830189612c1e565b612f066040830188612bc4565b612f136060830187612bb5565b612f206080830186612c00565b612f2d60a0830185612bb5565b81810360c0830152612f3f8184612c2d565b905098975050505050505050565b6000602082019050612f626000830184612bc4565b92915050565b6000602082019050612f7d6000830184612bd3565b92915050565b6000602082019050612f986000830184612be2565b92915050565b6000602082019050612fb36000830184612bf1565b92915050565b6000602082019050612fce6000830184612c1e565b92915050565b600060a082019050612fe96000830188612c0f565b612ff66020830187612bb5565b6130036040830186612c00565b6130106060830185612bb5565b81810360808301526130228184612c2d565b90509695505050505050565b600060a0820190506130436000830188612c1e565b6130506020830187612bb5565b61305d6040830186612c00565b61306a6060830185612bb5565b818103608083015261307c8184612c2d565b90509695505050505050565b600060c08201905061309d6000830189612c1e565b6130aa6020830188612c1e565b6130b76040830187612bb5565b6130c46060830186612c00565b6130d16080830185612bb5565b81810360a08301526130e38184612c2d565b9050979650505050505050565b6000602082019050818103600083015261310a8184612c2d565b905092915050565b6000602082019050818103600083015261312b81612c97565b9050919050565b6000602082019050818103600083015261314b81612cba565b9050919050565b6000602082019050818103600083015261316b81612cdd565b9050919050565b6000602082019050818103600083015261318b81612d00565b9050919050565b600060208201905081810360008301526131ab81612d23565b9050919050565b600060208201905081810360008301526131cb81612d46565b9050919050565b600060208201905081810360008301526131eb81612d69565b9050919050565b6000602082019050818103600083015261320b81612d8c565b9050919050565b6000602082019050818103600083015261322b81612df5565b9050919050565b6000602082019050818103600083015261324b81612e3b565b9050919050565b60006020820190506132676000830184612e5e565b92915050565b6000613277613288565b90506132838282613536565b919050565b6000604051905090565b600067ffffffffffffffff8211156132ad576132ac6135f4565b5b6132b682613623565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061330082613439565b915061330b83613439565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133405761333f613567565b5b828201905092915050565b600061335682613439565b915061336183613439565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561339a57613399613567565b5b828202905092915050565b60006133b082613419565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050613407826138bb565b919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061345b82613462565b9050919050565b600061346d82613419565b9050919050565b600061347f826133f9565b9050919050565b60006134918261340c565b9050919050565b82818337600083830152505050565b60005b838110156134c55780820151818401526020810190506134aa565b838111156134d4576000848401525b50505050565b60006134e582613439565b915060008214156134f9576134f8613567565b5b600182039050919050565b6000600282049050600182168061351c57607f821691505b602082108114156135305761352f6135c5565b5b50919050565b61353f82613623565b810181811067ffffffffffffffff8211171561355e5761355d6135f4565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f5573657220646964206e6f742072656769737472656420696e20544750000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f746869732063686174207467696420616c72656164792074616b656e00000000600082015250565b7f436f6e747261637420646f6573206e6f74206d61746368207769746820636f7260008201527f726573706f6e64696e6720747970650000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f616c726561647920686173206265656e20617070726f766564204f522064696460008201527f6e2774206170706c69656420617420616c6c0000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600381106138cc576138cb613596565b5b50565b6138d8816133a5565b81146138e357600080fd5b50565b6138ef816133b7565b81146138fa57600080fd5b50565b613906816133c3565b811461391157600080fd5b50565b61391d816133cd565b811461392857600080fd5b50565b6003811061393857600080fd5b50565b6139448161340c565b811461394f57600080fd5b50565b61395b81613439565b811461396657600080fd5b50565b61397281613443565b811461397d57600080fd5b5056fea264697066735822122066eeeb4e261e7e76576a5b46018c23cb87b4e864504423cd22be09ca71eae19c64736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH3 0x14 PUSH3 0x1E5 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0x61 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x482E CODESIZE SUB DUP1 PUSH3 0x482E DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x87 SWAP2 SWAP1 PUSH3 0x9F8 JUMP JUMPDEST PUSH3 0xA7 PUSH3 0x9B PUSH3 0x20E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x216 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST DUP1 PUSH1 0x8 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0x9 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x15F PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 PUSH3 0x2DA PUSH1 0x20 SHL PUSH3 0x1D24 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x191 PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 CALLER PUSH3 0x37D PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x0 PUSH3 0x1C5 PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 CALLER PUSH3 0x3C6 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST SWAP1 POP PUSH3 0x1DD DUP2 PUSH3 0x431 PUSH1 0x20 SHL PUSH3 0x1DBD OR PUSH1 0x20 SHR JUMP JUMPDEST POP POP PUSH3 0xE68 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH3 0x37A DUP2 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH3 0x2F1 SWAP2 SWAP1 PUSH3 0xB92 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x27B7CF8500000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH3 0x4D4 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP JUMP JUMPDEST PUSH3 0x38E DUP3 PUSH3 0x4FD PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x3AF DUP2 PUSH3 0x3A3 PUSH3 0x20E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x51D PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x3C1 DUP4 DUP4 PUSH3 0x5E1 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0x4D1 DUP2 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH3 0x448 SWAP2 SWAP1 PUSH3 0xB75 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x32458EED00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH3 0x4D4 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 PUSH11 0x636F6E736F6C652E6C6F67 SWAP1 POP PUSH1 0x20 DUP4 ADD PUSH1 0x0 DUP1 DUP5 DUP4 DUP6 GAS STATICCALL POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x52F DUP3 DUP3 PUSH3 0x3C6 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x5DD JUMPI PUSH3 0x562 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x14 PUSH3 0x6D2 PUSH1 0x20 SHL PUSH3 0x1E56 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x57D DUP4 PUSH1 0x0 SHR PUSH1 0x20 PUSH3 0x6D2 PUSH1 0x20 SHL PUSH3 0x1E56 OR PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH3 0x590 SWAP3 SWAP2 SWAP1 PUSH3 0xB33 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x5D4 SWAP2 SWAP1 PUSH3 0xBAF JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH3 0x5F3 DUP3 DUP3 PUSH3 0x3C6 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x6CE JUMPI PUSH1 0x1 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH3 0x673 PUSH3 0x20E PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x2 PUSH3 0x6E7 SWAP2 SWAP1 PUSH3 0xC79 JUMP JUMPDEST PUSH3 0x6F3 SWAP2 SWAP1 PUSH3 0xC1C JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x733 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH3 0x766 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH3 0x7C5 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH3 0x850 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 DUP5 PUSH1 0x2 PUSH3 0x892 SWAP2 SWAP1 PUSH3 0xC79 JUMP JUMPDEST PUSH3 0x89E SWAP2 SWAP1 PUSH3 0xC1C JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH3 0x990 JUMPI PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xF DUP7 AND PUSH1 0x10 DUP2 LT PUSH3 0x908 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH3 0x946 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 DUP6 SWAP1 SHR SWAP5 POP DUP1 PUSH3 0x988 SWAP1 PUSH3 0xD64 JUMP JUMPDEST SWAP1 POP PUSH3 0x8A1 JUMP JUMPDEST POP PUSH1 0x0 DUP5 EQ PUSH3 0x9D7 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x9CE SWAP1 PUSH3 0xBD3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x9F2 DUP2 PUSH3 0xE4E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0xA0B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH3 0xA1B DUP5 DUP3 DUP6 ADD PUSH3 0x9E1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH3 0xA2F DUP2 PUSH3 0xCEE JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH3 0xA40 DUP2 PUSH3 0xCFA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA53 DUP3 PUSH3 0xBF5 JUMP JUMPDEST PUSH3 0xA5F DUP2 DUP6 PUSH3 0xC00 JUMP JUMPDEST SWAP4 POP PUSH3 0xA71 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0xD2E JUMP JUMPDEST PUSH3 0xA7C DUP2 PUSH3 0xDC2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xA94 DUP3 PUSH3 0xBF5 JUMP JUMPDEST PUSH3 0xAA0 DUP2 DUP6 PUSH3 0xC11 JUMP JUMPDEST SWAP4 POP PUSH3 0xAB2 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH3 0xD2E JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xACD PUSH1 0x20 DUP4 PUSH3 0xC00 JUMP JUMPDEST SWAP2 POP PUSH3 0xADA DUP3 PUSH3 0xDD3 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xAF4 PUSH1 0x17 DUP4 PUSH3 0xC11 JUMP JUMPDEST SWAP2 POP PUSH3 0xB01 DUP3 PUSH3 0xDFC JUMP JUMPDEST PUSH1 0x17 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB1B PUSH1 0x11 DUP4 PUSH3 0xC11 JUMP JUMPDEST SWAP2 POP PUSH3 0xB28 DUP3 PUSH3 0xE25 JUMP JUMPDEST PUSH1 0x11 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xB40 DUP3 PUSH3 0xAE5 JUMP JUMPDEST SWAP2 POP PUSH3 0xB4E DUP3 DUP6 PUSH3 0xA87 JUMP JUMPDEST SWAP2 POP PUSH3 0xB5B DUP3 PUSH3 0xB0C JUMP JUMPDEST SWAP2 POP PUSH3 0xB69 DUP3 DUP5 PUSH3 0xA87 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0xB8C PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0xA24 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0xBA9 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0xA35 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xBCB DUP2 DUP5 PUSH3 0xA46 JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0xBEE DUP2 PUSH3 0xABE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC29 DUP3 PUSH3 0xD24 JUMP JUMPDEST SWAP2 POP PUSH3 0xC36 DUP4 PUSH3 0xD24 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH3 0xC6E JUMPI PUSH3 0xC6D PUSH3 0xD93 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xC86 DUP3 PUSH3 0xD24 JUMP JUMPDEST SWAP2 POP PUSH3 0xC93 DUP4 PUSH3 0xD24 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH3 0xCCF JUMPI PUSH3 0xCCE PUSH3 0xD93 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xCE7 DUP3 PUSH3 0xD04 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0xD4E JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0xD31 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0xD5E JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0xD71 DUP3 PUSH3 0xD24 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 EQ ISZERO PUSH3 0xD88 JUMPI PUSH3 0xD87 PUSH3 0xD93 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x206973206D697373696E6720726F6C6520000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH3 0xE59 DUP2 PUSH3 0xCDA JUMP JUMPDEST DUP2 EQ PUSH3 0xE65 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x39B6 DUP1 PUSH3 0xE78 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x11F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA217FDDF GT PUSH2 0xA0 JUMPI DUP1 PUSH4 0xD547741F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0xD698B364 EQ PUSH2 0x3F5 JUMPI DUP1 PUSH4 0xD6B2DA8E EQ PUSH2 0x432 JUMPI DUP1 PUSH4 0xE57BEDE4 EQ PUSH2 0x46F JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4AC JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2EE JUMPI DUP1 PUSH4 0xAD8F8660 EQ PUSH2 0x319 JUMPI DUP1 PUSH4 0xB9F7076F EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0xC25F3CF6 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0xD4D8F892 EQ PUSH2 0x3A1 JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0x38743904 GT PUSH2 0xE7 JUMPI DUP1 PUSH4 0x38743904 EQ PUSH2 0x219 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x244 JUMPI DUP1 PUSH4 0x7527D5A1 EQ PUSH2 0x25B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2B1 JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x124 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x161 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x19E JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x36B9F727 EQ PUSH2 0x1F0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x130 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x146 SWAP2 SWAP1 PUSH2 0x2A47 JUMP JUMPDEST PUSH2 0x4D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x158 SWAP2 SWAP1 PUSH2 0x2F4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x188 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x183 SWAP2 SWAP1 PUSH2 0x29E2 JUMP JUMPDEST PUSH2 0x54F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x195 SWAP2 SWAP1 PUSH2 0x2F68 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C0 SWAP2 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH2 0x56F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH2 0x598 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x217 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x2967 JUMP JUMPDEST PUSH2 0x61B JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x225 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22E PUSH2 0xB24 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23B SWAP2 SWAP1 PUSH2 0x2F68 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x250 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0xB48 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x270 PUSH2 0xBD0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27D SWAP2 SWAP1 PUSH2 0x2F9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x292 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x29B PUSH2 0xBF6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A8 SWAP2 SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D3 SWAP2 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH2 0xC1F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E5 SWAP2 SWAP1 PUSH2 0x2F4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x303 PUSH2 0xC8A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x310 SWAP2 SWAP1 PUSH2 0x2F68 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x325 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x340 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x33B SWAP2 SWAP1 PUSH2 0x2967 JUMP JUMPDEST PUSH2 0xC91 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x35C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x357 SWAP2 SWAP1 PUSH2 0x2A99 JUMP JUMPDEST PUSH2 0x12A5 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x385 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x380 SWAP2 SWAP1 PUSH2 0x2967 JUMP JUMPDEST PUSH2 0x19EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x398 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2ED7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B6 PUSH2 0x1B40 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C3 SWAP2 SWAP1 PUSH2 0x3252 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EE SWAP2 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH2 0x1B51 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x401 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x41C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x417 SWAP2 SWAP1 PUSH2 0x2B3A JUMP JUMPDEST PUSH2 0x1B7A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x429 SWAP2 SWAP1 PUSH2 0x2FB9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x43E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x459 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x454 SWAP2 SWAP1 PUSH2 0x2A70 JUMP JUMPDEST PUSH2 0x1BB1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x466 SWAP2 SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x496 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x491 SWAP2 SWAP1 PUSH2 0x2A70 JUMP JUMPDEST PUSH2 0x1BE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4A3 SWAP2 SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4CE SWAP2 SWAP1 PUSH2 0x2967 JUMP JUMPDEST PUSH2 0x1C2C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x548 JUMPI POP PUSH2 0x547 DUP3 PUSH2 0x2150 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x578 DUP3 PUSH2 0x54F JUMP JUMPDEST PUSH2 0x589 DUP2 PUSH2 0x584 PUSH2 0x21BA JUMP JUMPDEST PUSH2 0x21C2 JUMP JUMPDEST PUSH2 0x593 DUP4 DUP4 PUSH2 0x225F JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x5A0 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x60D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x604 SWAP1 PUSH2 0x3232 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x617 DUP3 DUP3 PUSH2 0x233F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x623 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x641 PUSH2 0xBF6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x697 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x68E SWAP1 PUSH2 0x31F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x812 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x84A JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x8B4 SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8E0 SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x92D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x902 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x92D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x910 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x40 ADD MLOAD ISZERO ISZERO EQ PUSH2 0x983 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x97A SWAP1 PUSH2 0x3212 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 PUSH2 0xA8B SWAP2 SWAP1 PUSH2 0x274A JUMP JUMPDEST POP POP PUSH1 0x4 PUSH1 0x0 DUP3 PUSH1 0x20 ADD MLOAD PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0xD06E11C55C5F21676305517C655A0188744D3BEE09361E15470276872D56A0B9 DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x60 ADD MLOAD DUP4 PUSH1 0x80 ADD MLOAD DUP5 PUSH1 0xA0 ADD MLOAD DUP6 PUSH1 0xC0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xB18 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2FD4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 DUP2 JUMP JUMPDEST PUSH2 0xB50 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xB6E PUSH2 0xBF6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBC4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBBB SWAP1 PUSH2 0x31F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBCE PUSH1 0x0 PUSH2 0x2421 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x9 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SHL DUP2 JUMP JUMPDEST PUSH2 0xC99 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xCB7 PUSH2 0xBF6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD0D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD04 SWAP1 PUSH2 0x31F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xE88 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xEC0 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0xF2A SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xF56 SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xFA3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF78 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xFA3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xF86 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x40 ADD MLOAD ISZERO ISZERO EQ PUSH2 0xFF9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFF0 SWAP1 PUSH2 0x3212 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x40 ADD SWAP1 ISZERO ISZERO SWAP1 DUP2 ISZERO ISZERO DUP2 MSTORE POP POP DUP1 PUSH1 0x7 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x117B JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x11E3 SWAP3 SWAP2 SWAP1 PUSH2 0x278A JUMP JUMPDEST POP SWAP1 POP POP PUSH2 0x11F1 PUSH1 0x6 PUSH2 0x24E5 JUMP JUMPDEST PUSH1 0x5 DUP2 PUSH1 0x20 ADD MLOAD SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x19C3744C2D10EDA4D05B727F02A712A414539C26678F5F988D98F9635AFCAC28 DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x60 ADD MLOAD DUP4 PUSH1 0x80 ADD MLOAD DUP5 PUSH1 0xA0 ADD MLOAD DUP6 PUSH1 0xC0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x1299 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2FD4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC2FC6E3 DUP9 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1302 SWAP2 SWAP1 PUSH2 0x2FB9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x131A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x132E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1352 SWAP2 SWAP1 PUSH2 0x2990 JUMP JUMPDEST SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x13C2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13B9 SWAP1 PUSH2 0x3132 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x4 PUSH1 0x0 DUP9 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x146A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1461 SWAP1 PUSH2 0x31B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH1 0x4 PUSH1 0x0 DUP9 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x14CE DUP6 DUP6 PUSH2 0x24FB JUMP JUMPDEST SWAP1 POP PUSH1 0x1 ISZERO ISZERO DUP2 ISZERO ISZERO EQ PUSH2 0x1517 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x150E SWAP1 PUSH2 0x31D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x48DC1561 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x157F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1593 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15B7 SWAP2 SWAP1 PUSH2 0x2B63 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP9 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x164B JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP PUSH1 0x7 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x17E0 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1848 SWAP3 SWAP2 SWAP1 PUSH2 0x278A JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH2 0x1896 SWAP1 PUSH2 0x2E6D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x18D3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x18D8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x191C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1913 SWAP1 PUSH2 0x3172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD CALLVALUE EQ PUSH2 0x1960 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1957 SWAP1 PUSH2 0x3192 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0xAE33DAC4EB1CDCAF489D2A9A56C45D17257612CAD7C531513D4E425951349E2 DUP9 DUP11 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x1999 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3088 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP8 PUSH1 0x7 SIGNEXTEND PUSH32 0xEFCAC77603CA996FAAFA29A1D72A90249E186F4A4AF6AD89434B18A66B6E9CD9 DUP11 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x19DC SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x302E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x1ABD SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1AE9 SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B36 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B0B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B36 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B19 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B4C PUSH1 0x6 PUSH2 0x2713 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1B5A DUP3 PUSH2 0x54F JUMP JUMPDEST PUSH2 0x1B6B DUP2 PUSH2 0x1B66 PUSH2 0x21BA JUMP JUMPDEST PUSH2 0x21C2 JUMP JUMPDEST PUSH2 0x1B75 DUP4 DUP4 PUSH2 0x233F JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x5 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1B8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C34 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1C52 PUSH2 0xBF6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1CA8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C9F SWAP1 PUSH2 0x31F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1D18 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1D0F SWAP1 PUSH2 0x3152 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1D21 DUP2 PUSH2 0x2421 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x1DBA DUP2 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1D38 SWAP2 SWAP1 PUSH2 0x2F68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x27B7CF8500000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH2 0x2721 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x1E53 DUP2 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1DD1 SWAP2 SWAP1 PUSH2 0x2F4D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x32458EED00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH2 0x2721 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x2 PUSH2 0x1E69 SWAP2 SWAP1 PUSH2 0x334B JUMP JUMPDEST PUSH2 0x1E73 SWAP2 SWAP1 PUSH2 0x32F5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EB2 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1EE4 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1F42 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1FCC JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 DUP5 PUSH1 0x2 PUSH2 0x200C SWAP2 SWAP1 PUSH2 0x334B JUMP JUMPDEST PUSH2 0x2016 SWAP2 SWAP1 PUSH2 0x32F5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2102 JUMPI PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xF DUP7 AND PUSH1 0x10 DUP2 LT PUSH2 0x207E JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x20BB JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 DUP6 SWAP1 SHR SWAP5 POP DUP1 PUSH2 0x20FB SWAP1 PUSH2 0x34DA JUMP JUMPDEST SWAP1 POP PUSH2 0x2019 JUMP JUMPDEST POP PUSH1 0x0 DUP5 EQ PUSH2 0x2146 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x213D SWAP1 PUSH2 0x3112 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x21CC DUP3 DUP3 PUSH2 0xC1F JUMP JUMPDEST PUSH2 0x225B JUMPI PUSH2 0x21F1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x14 PUSH2 0x1E56 JUMP JUMPDEST PUSH2 0x21FF DUP4 PUSH1 0x0 SHR PUSH1 0x20 PUSH2 0x1E56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2210 SWAP3 SWAP2 SWAP1 PUSH2 0x2E82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2252 SWAP2 SWAP1 PUSH2 0x30F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x2269 DUP3 DUP3 PUSH2 0xC1F JUMP JUMPDEST PUSH2 0x233B JUMPI PUSH1 0x1 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x22E0 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x2349 DUP3 DUP3 PUSH2 0xC1F JUMP JUMPDEST ISZERO PUSH2 0x241D JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x23C2 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP1 DUP2 GT ISZERO PUSH2 0x2536 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x256F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x260C JUMPI DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x1FFC9A7 PUSH4 0x780E9D63 PUSH1 0xE0 SHL PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x25B5 SWAP2 SWAP1 PUSH2 0x2F83 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x25CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x25E1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2605 SWAP2 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST SWAP1 POP PUSH2 0x270D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x2646 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x267F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x270C JUMPI PUSH1 0x12 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x313CE567 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x26CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x26E1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2705 SWAP2 SWAP1 PUSH2 0x2B8C JUMP JUMPDEST PUSH1 0xFF AND EQ SWAP1 POP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 PUSH11 0x636F6E736F6C652E6C6F67 SWAP1 POP PUSH1 0x20 DUP4 ADD PUSH1 0x0 DUP1 DUP5 DUP4 DUP6 GAS STATICCALL POP POP POP POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x2756 SWAP1 PUSH2 0x3504 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x2768 JUMPI POP PUSH2 0x2787 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2786 SWAP2 SWAP1 PUSH2 0x2810 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2796 SWAP1 PUSH2 0x3504 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x27B8 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x27FF JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x27D1 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x27FF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x27FF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x27FE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x27E3 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x280C SWAP2 SWAP1 PUSH2 0x2810 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2829 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2811 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2840 PUSH2 0x283B DUP5 PUSH2 0x3292 JUMP JUMPDEST PUSH2 0x326D JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2858 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2863 DUP5 DUP3 DUP6 PUSH2 0x3498 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x287A DUP2 PUSH2 0x38CF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x288F DUP2 PUSH2 0x38CF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x28A4 DUP2 PUSH2 0x38E6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28B9 DUP2 PUSH2 0x38FD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28CE DUP2 PUSH2 0x3914 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28E3 DUP2 PUSH2 0x392B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28F8 DUP2 PUSH2 0x393B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x290F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x291F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x282D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2937 DUP2 PUSH2 0x3952 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x294C DUP2 PUSH2 0x3952 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2961 DUP2 PUSH2 0x3969 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2979 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2987 DUP5 DUP3 DUP6 ADD PUSH2 0x286B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x29B0 DUP5 DUP3 DUP6 ADD PUSH2 0x2880 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x29D9 DUP5 DUP3 DUP6 ADD PUSH2 0x2895 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A02 DUP5 DUP3 DUP6 ADD PUSH2 0x28AA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2A1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A2C DUP6 DUP3 DUP7 ADD PUSH2 0x28AA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x2A3D DUP6 DUP3 DUP7 ADD PUSH2 0x286B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A67 DUP5 DUP3 DUP6 ADD PUSH2 0x28BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A90 DUP5 DUP3 DUP6 ADD PUSH2 0x28E9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x2AB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2AC0 DUP10 DUP3 DUP11 ADD PUSH2 0x28E9 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x2AD1 DUP10 DUP3 DUP11 ADD PUSH2 0x28E9 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH2 0x2AE2 DUP10 DUP3 DUP11 ADD PUSH2 0x286B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH2 0x2AF3 DUP10 DUP3 DUP11 ADD PUSH2 0x28D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH2 0x2B04 DUP10 DUP3 DUP11 ADD PUSH2 0x286B JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B2D DUP10 DUP3 DUP11 ADD PUSH2 0x28FE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2B5A DUP5 DUP3 DUP6 ADD PUSH2 0x2928 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2B83 DUP5 DUP3 DUP6 ADD PUSH2 0x293D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2BAC DUP5 DUP3 DUP6 ADD PUSH2 0x2952 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2BBE DUP2 PUSH2 0x33A5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2BCD DUP2 PUSH2 0x33B7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2BDC DUP2 PUSH2 0x33C3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2BEB DUP2 PUSH2 0x33CD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2BFA DUP2 PUSH2 0x3450 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2C09 DUP2 PUSH2 0x3474 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2C18 DUP2 PUSH2 0x3486 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2C27 DUP2 PUSH2 0x340C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C38 DUP3 PUSH2 0x32C3 JUMP JUMPDEST PUSH2 0x2C42 DUP2 DUP6 PUSH2 0x32D9 JUMP JUMPDEST SWAP4 POP PUSH2 0x2C52 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x34A7 JUMP JUMPDEST PUSH2 0x2C5B DUP2 PUSH2 0x3623 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C71 DUP3 PUSH2 0x32C3 JUMP JUMPDEST PUSH2 0x2C7B DUP2 DUP6 PUSH2 0x32EA JUMP JUMPDEST SWAP4 POP PUSH2 0x2C8B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x34A7 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CA4 PUSH1 0x20 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2CAF DUP3 PUSH2 0x3634 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CC7 PUSH1 0x1D DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2CD2 DUP3 PUSH2 0x365D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CEA PUSH1 0x26 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2CF5 DUP3 PUSH2 0x3686 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D0D PUSH1 0x16 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D18 DUP3 PUSH2 0x36D5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D30 PUSH1 0x18 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D3B DUP3 PUSH2 0x36FE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D53 PUSH1 0x1C DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D5E DUP3 PUSH2 0x3727 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D76 PUSH1 0x2F DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D81 DUP3 PUSH2 0x3750 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D99 PUSH1 0x20 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2DA4 DUP3 PUSH2 0x379F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DBC PUSH1 0x0 DUP4 PUSH2 0x32CE JUMP JUMPDEST SWAP2 POP PUSH2 0x2DC7 DUP3 PUSH2 0x37C8 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DDF PUSH1 0x17 DUP4 PUSH2 0x32EA JUMP JUMPDEST SWAP2 POP PUSH2 0x2DEA DUP3 PUSH2 0x37CB JUMP JUMPDEST PUSH1 0x17 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E02 PUSH1 0x32 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2E0D DUP3 PUSH2 0x37F4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E25 PUSH1 0x11 DUP4 PUSH2 0x32EA JUMP JUMPDEST SWAP2 POP PUSH2 0x2E30 DUP3 PUSH2 0x3843 JUMP JUMPDEST PUSH1 0x11 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E48 PUSH1 0x2F DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2E53 DUP3 PUSH2 0x386C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2E67 DUP2 PUSH2 0x3439 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E78 DUP3 PUSH2 0x2DAF JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E8D DUP3 PUSH2 0x2DD2 JUMP JUMPDEST SWAP2 POP PUSH2 0x2E99 DUP3 DUP6 PUSH2 0x2C66 JUMP JUMPDEST SWAP2 POP PUSH2 0x2EA4 DUP3 PUSH2 0x2E18 JUMP JUMPDEST SWAP2 POP PUSH2 0x2EB0 DUP3 DUP5 PUSH2 0x2C66 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2ED1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2BB5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP PUSH2 0x2EEC PUSH1 0x0 DUP4 ADD DUP11 PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x2EF9 PUSH1 0x20 DUP4 ADD DUP10 PUSH2 0x2C1E JUMP JUMPDEST PUSH2 0x2F06 PUSH1 0x40 DUP4 ADD DUP9 PUSH2 0x2BC4 JUMP JUMPDEST PUSH2 0x2F13 PUSH1 0x60 DUP4 ADD DUP8 PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x2F20 PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2C00 JUMP JUMPDEST PUSH2 0x2F2D PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x2BB5 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH2 0x2F3F DUP2 DUP5 PUSH2 0x2C2D JUMP JUMPDEST SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2F62 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2BC4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2F7D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2BD3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2F98 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2BE2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FB3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2BF1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FCE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2C1E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2FE9 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2C0F JUMP JUMPDEST PUSH2 0x2FF6 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x3003 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2C00 JUMP JUMPDEST PUSH2 0x3010 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2BB5 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x3022 DUP2 DUP5 PUSH2 0x2C2D JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x3043 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2C1E JUMP JUMPDEST PUSH2 0x3050 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x305D PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2C00 JUMP JUMPDEST PUSH2 0x306A PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2BB5 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x307C DUP2 DUP5 PUSH2 0x2C2D JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x309D PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x2C1E JUMP JUMPDEST PUSH2 0x30AA PUSH1 0x20 DUP4 ADD DUP9 PUSH2 0x2C1E JUMP JUMPDEST PUSH2 0x30B7 PUSH1 0x40 DUP4 ADD DUP8 PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x30C4 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2C00 JUMP JUMPDEST PUSH2 0x30D1 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x2BB5 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xA0 DUP4 ADD MSTORE PUSH2 0x30E3 DUP2 DUP5 PUSH2 0x2C2D JUMP JUMPDEST SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x310A DUP2 DUP5 PUSH2 0x2C2D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x312B DUP2 PUSH2 0x2C97 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x314B DUP2 PUSH2 0x2CBA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x316B DUP2 PUSH2 0x2CDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x318B DUP2 PUSH2 0x2D00 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x31AB DUP2 PUSH2 0x2D23 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x31CB DUP2 PUSH2 0x2D46 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x31EB DUP2 PUSH2 0x2D69 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x320B DUP2 PUSH2 0x2D8C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x322B DUP2 PUSH2 0x2DF5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x324B DUP2 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3267 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2E5E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3277 PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP PUSH2 0x3283 DUP3 DUP3 PUSH2 0x3536 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x32AD JUMPI PUSH2 0x32AC PUSH2 0x35F4 JUMP JUMPDEST JUMPDEST PUSH2 0x32B6 DUP3 PUSH2 0x3623 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3300 DUP3 PUSH2 0x3439 JUMP JUMPDEST SWAP2 POP PUSH2 0x330B DUP4 PUSH2 0x3439 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x3340 JUMPI PUSH2 0x333F PUSH2 0x3567 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3356 DUP3 PUSH2 0x3439 JUMP JUMPDEST SWAP2 POP PUSH2 0x3361 DUP4 PUSH2 0x3439 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x339A JUMPI PUSH2 0x3399 PUSH2 0x3567 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33B0 DUP3 PUSH2 0x3419 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x3407 DUP3 PUSH2 0x38BB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x7 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x345B DUP3 PUSH2 0x3462 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x346D DUP3 PUSH2 0x3419 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x347F DUP3 PUSH2 0x33F9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3491 DUP3 PUSH2 0x340C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x34C5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x34AA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x34D4 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34E5 DUP3 PUSH2 0x3439 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 EQ ISZERO PUSH2 0x34F9 JUMPI PUSH2 0x34F8 PUSH2 0x3567 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x351C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x3530 JUMPI PUSH2 0x352F PUSH2 0x35C5 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x353F DUP3 PUSH2 0x3623 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x355E JUMPI PUSH2 0x355D PUSH2 0x35F4 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5573657220646964206E6F742072656769737472656420696E20544750000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E61626C6520746F207472616E736665722066656500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x50617373706F727420666565206973206E6F7420706169640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x746869732063686174207467696420616C72656164792074616B656E00000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436F6E747261637420646F6573206E6F74206D61746368207769746820636F72 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x726573706F6E64696E6720747970650000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x616C726561647920686173206265656E20617070726F766564204F5220646964 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E2774206170706C69656420617420616C6C0000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x206973206D697373696E6720726F6C6520000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x38CC JUMPI PUSH2 0x38CB PUSH2 0x3596 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0x38D8 DUP2 PUSH2 0x33A5 JUMP JUMPDEST DUP2 EQ PUSH2 0x38E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x38EF DUP2 PUSH2 0x33B7 JUMP JUMPDEST DUP2 EQ PUSH2 0x38FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3906 DUP2 PUSH2 0x33C3 JUMP JUMPDEST DUP2 EQ PUSH2 0x3911 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x391D DUP2 PUSH2 0x33CD JUMP JUMPDEST DUP2 EQ PUSH2 0x3928 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x3938 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3944 DUP2 PUSH2 0x340C JUMP JUMPDEST DUP2 EQ PUSH2 0x394F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x395B DUP2 PUSH2 0x3439 JUMP JUMPDEST DUP2 EQ PUSH2 0x3966 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3972 DUP2 PUSH2 0x3443 JUMP JUMPDEST DUP2 EQ PUSH2 0x397D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH7 0xEEEB4E261E7E76 JUMPI PUSH11 0x5B46018C23CB87B4E86450 DIFFICULTY 0x23 0xCD 0x22 0xBE MULMOD 0xCA PUSH18 0xEAE19C64736F6C6343000804003300000000 ", + "sourceMap": "1175:6247:14:-:0;;;1321:7;:5;;;:7;;:::i;:::-;1296:32;;;;;;;;;;;;;;;;;;;;2461:307;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;921:32:2;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;2529:17:14;2509;;:37;;;;;;;;;;;;;;;;;;2580:17;2556:10;;:42;;;;;;;;;;;;;;;;;;2608:29;1446:22;2608:18;;;;;:29;;:::i;:::-;2647:31;1446:22;2667:10;2647:9;;;:31;;:::i;:::-;2688:9;2700:29;1446:22;2718:10;2700:7;;;:29;;:::i;:::-;2688:41;;2739:21;2755:4;2739:15;;;;;:21;;:::i;:::-;2461:307;;1175:6247;;1036:85:2;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;640:96:8:-;693:7;719:10;712:17;;640:96;:::o;2270:187:2:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2270:187;;:::o;4833:114:16:-;4883:60;4939:2;4899:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4883:15;;;:60;;:::i;:::-;4833:114;:::o;4387:145:0:-;4470:18;4483:4;4470:12;;;:18;;:::i;:::-;2505:30;2516:4;2522:12;:10;;;:12;;:::i;:::-;2505:10;;;:30;;:::i;:::-;4500:25:::1;4511:4;4517:7;4500:10;;;:25;;:::i;:::-;4387:145:::0;;;:::o;2909:::-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;890:105:16:-;934:57;987:2;950:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;934:15;;;:57;;:::i;:::-;890:105;:::o;176:288::-;240:21;264:7;:14;240:38;;282:22;129:42;282:40;;373:2;364:7;360:16;455:1;452;437:13;423:12;407:14;400:5;389:68;335:126;;;;;:::o;4008:129:0:-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;3335:492::-;3423:22;3431:4;3437:7;3423;;;:22;;:::i;:::-;3418:403;;3606:41;3634:7;3606:41;;3644:2;3606:19;;;;;:41;;:::i;:::-;3718:38;3746:4;3738:13;;3753:2;3718:19;;;;;:38;;:::i;:::-;3513:265;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3461:349;;;;;;;;;;;:::i;:::-;;;;;;;;3418:403;3335:492;;:::o;6861:233::-;6944:22;6952:4;6958:7;6944;;;:22;;:::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;;;:12;;:::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;1588:441:10:-;1663:13;1688:19;1733:1;1724:6;1720:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1710:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1688:47;;1745:15;:6;1752:1;1745:9;;;;;;;;;;;;;;;;;;;:15;;;;;;;;;;;1770;:6;1777:1;1770:9;;;;;;;;;;;;;;;;;;;:15;;;;;;;;;;;1800:9;1825:1;1816:6;1812:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1800:26;;1795:132;1832:1;1828;:5;1795:132;;;1866:12;1887:3;1879:5;:11;1866:25;;;;;;;;;;;;;;;;;;1854:6;1861:1;1854:9;;;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;1915:1;1905:11;;;;;1835:3;;;;:::i;:::-;;;1795:132;;;;1953:1;1944:5;:10;1936:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2015:6;2001:21;;;1588:441;;;;:::o;7:143:17:-;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;70:80;;;;:::o;156:284::-;226:6;275:2;263:9;254:7;250:23;246:32;243:2;;;291:1;288;281:12;243:2;334:1;359:64;415:7;406:6;395:9;391:22;359:64;:::i;:::-;349:74;;305:128;233:207;;;;:::o;446:109::-;527:21;542:5;527:21;:::i;:::-;522:3;515:34;505:50;;:::o;561:118::-;648:24;666:5;648:24;:::i;:::-;643:3;636:37;626:53;;:::o;685:364::-;773:3;801:39;834:5;801:39;:::i;:::-;856:71;920:6;915:3;856:71;:::i;:::-;849:78;;936:52;981:6;976:3;969:4;962:5;958:16;936:52;:::i;:::-;1013:29;1035:6;1013:29;:::i;:::-;1008:3;1004:39;997:46;;777:272;;;;;:::o;1055:377::-;1161:3;1189:39;1222:5;1189:39;:::i;:::-;1244:89;1326:6;1321:3;1244:89;:::i;:::-;1237:96;;1342:52;1387:6;1382:3;1375:4;1368:5;1364:16;1342:52;:::i;:::-;1419:6;1414:3;1410:16;1403:23;;1165:267;;;;;:::o;1438:366::-;1580:3;1601:67;1665:2;1660:3;1601:67;:::i;:::-;1594:74;;1677:93;1766:3;1677:93;:::i;:::-;1795:2;1790:3;1786:12;1779:19;;1584:220;;;:::o;1810:402::-;1970:3;1991:85;2073:2;2068:3;1991:85;:::i;:::-;1984:92;;2085:93;2174:3;2085:93;:::i;:::-;2203:2;2198:3;2194:12;2187:19;;1974:238;;;:::o;2218:402::-;2378:3;2399:85;2481:2;2476:3;2399:85;:::i;:::-;2392:92;;2493:93;2582:3;2493:93;:::i;:::-;2611:2;2606:3;2602:12;2595:19;;2382:238;;;:::o;2626:967::-;3008:3;3030:148;3174:3;3030:148;:::i;:::-;3023:155;;3195:95;3286:3;3277:6;3195:95;:::i;:::-;3188:102;;3307:148;3451:3;3307:148;:::i;:::-;3300:155;;3472:95;3563:3;3554:6;3472:95;:::i;:::-;3465:102;;3584:3;3577:10;;3012:581;;;;;:::o;3599:210::-;3686:4;3724:2;3713:9;3709:18;3701:26;;3737:65;3799:1;3788:9;3784:17;3775:6;3737:65;:::i;:::-;3691:118;;;;:::o;3815:222::-;3908:4;3946:2;3935:9;3931:18;3923:26;;3959:71;4027:1;4016:9;4012:17;4003:6;3959:71;:::i;:::-;3913:124;;;;:::o;4043:313::-;4156:4;4194:2;4183:9;4179:18;4171:26;;4243:9;4237:4;4233:20;4229:1;4218:9;4214:17;4207:47;4271:78;4344:4;4335:6;4271:78;:::i;:::-;4263:86;;4161:195;;;;:::o;4362:419::-;4528:4;4566:2;4555:9;4551:18;4543:26;;4615:9;4609:4;4605:20;4601:1;4590:9;4586:17;4579:47;4643:131;4769:4;4643:131;:::i;:::-;4635:139;;4533:248;;;:::o;4787:99::-;4839:6;4873:5;4867:12;4857:22;;4846:40;;;:::o;4892:169::-;4976:11;5010:6;5005:3;4998:19;5050:4;5045:3;5041:14;5026:29;;4988:73;;;;:::o;5067:148::-;5169:11;5206:3;5191:18;;5181:34;;;;:::o;5221:305::-;5261:3;5280:20;5298:1;5280:20;:::i;:::-;5275:25;;5314:20;5332:1;5314:20;:::i;:::-;5309:25;;5468:1;5400:66;5396:74;5393:1;5390:81;5387:2;;;5474:18;;:::i;:::-;5387:2;5518:1;5515;5511:9;5504:16;;5265:261;;;;:::o;5532:348::-;5572:7;5595:20;5613:1;5595:20;:::i;:::-;5590:25;;5629:20;5647:1;5629:20;:::i;:::-;5624:25;;5817:1;5749:66;5745:74;5742:1;5739:81;5734:1;5727:9;5720:17;5716:105;5713:2;;;5824:18;;:::i;:::-;5713:2;5872:1;5869;5865:9;5854:20;;5580:300;;;;:::o;5886:96::-;5923:7;5952:24;5970:5;5952:24;:::i;:::-;5941:35;;5931:51;;;:::o;5988:90::-;6022:7;6065:5;6058:13;6051:21;6040:32;;6030:48;;;:::o;6084:77::-;6121:7;6150:5;6139:16;;6129:32;;;:::o;6167:126::-;6204:7;6244:42;6237:5;6233:54;6222:65;;6212:81;;;:::o;6299:77::-;6336:7;6365:5;6354:16;;6344:32;;;:::o;6382:307::-;6450:1;6460:113;6474:6;6471:1;6468:13;6460:113;;;6559:1;6554:3;6550:11;6544:18;6540:1;6535:3;6531:11;6524:39;6496:2;6493:1;6489:10;6484:15;;6460:113;;;6591:6;6588:1;6585:13;6582:2;;;6671:1;6662:6;6657:3;6653:16;6646:27;6582:2;6431:258;;;;:::o;6695:171::-;6734:3;6757:24;6775:5;6757:24;:::i;:::-;6748:33;;6803:4;6796:5;6793:15;6790:2;;;6811:18;;:::i;:::-;6790:2;6858:1;6851:5;6847:13;6840:20;;6738:128;;;:::o;6872:180::-;6920:77;6917:1;6910:88;7017:4;7014:1;7007:15;7041:4;7038:1;7031:15;7058:102;7099:6;7150:2;7146:7;7141:2;7134:5;7130:14;7126:28;7116:38;;7106:54;;;:::o;7166:182::-;7306:34;7302:1;7294:6;7290:14;7283:58;7272:76;:::o;7354:173::-;7494:25;7490:1;7482:6;7478:14;7471:49;7460:67;:::o;7533:167::-;7673:19;7669:1;7661:6;7657:14;7650:43;7639:61;:::o;7706:122::-;7779:24;7797:5;7779:24;:::i;:::-;7772:5;7769:35;7759:2;;7818:1;7815;7808:12;7759:2;7749:79;:::o;1175:6247:14:-;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:33119:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "91:261:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "101:75:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "168:6:17" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "126:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "126:49:17" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "110:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "110:66:17" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "101:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "192:5:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "199:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "185:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "185:21:17" + }, + "nodeType": "YulExpressionStatement", + "src": "185:21:17" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "215:27:17", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "230:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "237:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "226:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "226:16:17" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "219:3:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "280:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "289:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "292:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "282:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "282:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "282:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "261:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "266:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "257:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "257:16:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "275:3:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "254:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "254:25:17" + }, + "nodeType": "YulIf", + "src": "251:2:17" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "329:3:17" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "334:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "339:6:17" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "305:23:17" + }, + "nodeType": "YulFunctionCall", + "src": "305:41:17" + }, + "nodeType": "YulExpressionStatement", + "src": "305:41:17" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "64:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "69:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "77:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "85:5:17", + "type": "" + } + ], + "src": "7:345:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "410:87:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "420:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "442:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "429:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "429:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "420:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "485:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "458:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "458:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "458:33:17" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "388:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "396:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "404:5:17", + "type": "" + } + ], + "src": "358:139:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "566:80:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "576:22:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "591:6:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "585:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "585:13:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "576:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "634:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "607:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "607:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "607:33:17" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "544:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "552:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "560:5:17", + "type": "" + } + ], + "src": "503:143:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "712:77:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "722:22:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "737:6:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "731:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "731:13:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "722:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "777:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "753:23:17" + }, + "nodeType": "YulFunctionCall", + "src": "753:30:17" + }, + "nodeType": "YulExpressionStatement", + "src": "753:30:17" + } + ] + }, + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "690:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "698:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "706:5:17", + "type": "" + } + ], + "src": "652:137:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "847:87:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "857:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "879:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "866:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "866:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "857:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "922:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nodeType": "YulIdentifier", + "src": "895:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "895:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "895:33:17" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "825:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "833:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "841:5:17", + "type": "" + } + ], + "src": "795:139:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "991:86:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1001:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1023:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1010:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "1010:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1001:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1065:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "1039:25:17" + }, + "nodeType": "YulFunctionCall", + "src": "1039:32:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1039:32:17" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "969:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "977:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "985:5:17", + "type": "" + } + ], + "src": "940:137:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1150:102:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1160:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1182:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1169:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "1169:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1160:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1240:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_enum$_VotingType_$2425", + "nodeType": "YulIdentifier", + "src": "1198:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "1198:48:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1198:48:17" + } + ] + }, + "name": "abi_decode_t_enum$_VotingType_$2425", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1128:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1136:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1144:5:17", + "type": "" + } + ], + "src": "1083:169:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1308:85:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1318:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1340:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1327:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "1327:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1318:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1381:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_int64", + "nodeType": "YulIdentifier", + "src": "1356:24:17" + }, + "nodeType": "YulFunctionCall", + "src": "1356:31:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1356:31:17" + } + ] + }, + "name": "abi_decode_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1286:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1294:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1302:5:17", + "type": "" + } + ], + "src": "1258:135:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1475:211:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1524:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1533:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1536:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1526:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1526:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1526:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1503:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1511:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1499:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1499:17:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1518:3:17" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1495:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1495:27:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1488:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1488:35:17" + }, + "nodeType": "YulIf", + "src": "1485:2:17" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1549:34:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1576:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1563:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "1563:20:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1553:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1592:88:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1653:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1661:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1649:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1649:17:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1668:6:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1676:3:17" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "1601:47:17" + }, + "nodeType": "YulFunctionCall", + "src": "1601:79:17" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "1592:5:17" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1453:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1461:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "1469:5:17", + "type": "" + } + ], + "src": "1413:273:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1744:87:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1754:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1776:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1763:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "1763:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1754:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1819:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1792:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "1792:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1792:33:17" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1722:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1730:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1738:5:17", + "type": "" + } + ], + "src": "1692:139:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1900:80:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1910:22:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1925:6:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1919:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "1919:13:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1910:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1968:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1941:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "1941:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1941:33:17" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1878:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1886:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1894:5:17", + "type": "" + } + ], + "src": "1837:143:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2047:78:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2057:22:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2072:6:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2066:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "2066:13:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2057:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2113:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_uint8", + "nodeType": "YulIdentifier", + "src": "2088:24:17" + }, + "nodeType": "YulFunctionCall", + "src": "2088:31:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2088:31:17" + } + ] + }, + "name": "abi_decode_t_uint8_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2025:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2033:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2041:5:17", + "type": "" + } + ], + "src": "1986:139:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2197:196:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2243:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2252:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2255:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2245:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2245:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2245:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2218:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2227:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2214:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2214:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2239:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2210:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2210:32:17" + }, + "nodeType": "YulIf", + "src": "2207:2:17" + }, + { + "nodeType": "YulBlock", + "src": "2269:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2284:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2298:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2288:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2313:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2348:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2359:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2344:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2344:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2368:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "2323:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "2323:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2313:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2167:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2178:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2190:6:17", + "type": "" + } + ], + "src": "2131:262:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2476:207:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2522:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2531:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2534:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2524:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2524:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2524:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2497:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2506:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2493:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2493:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2518:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2489:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2489:32:17" + }, + "nodeType": "YulIf", + "src": "2486:2:17" + }, + { + "nodeType": "YulBlock", + "src": "2548:128:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2563:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2577:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2567:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2592:74:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2638:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2649:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2634:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2634:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2658:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "2602:31:17" + }, + "nodeType": "YulFunctionCall", + "src": "2602:64:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2592:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2446:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2457:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2469:6:17", + "type": "" + } + ], + "src": "2399:284:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2763:204:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2809:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2818:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2821:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2811:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2811:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2811:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2784:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2793:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2780:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2780:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2805:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2776:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2776:32:17" + }, + "nodeType": "YulIf", + "src": "2773:2:17" + }, + { + "nodeType": "YulBlock", + "src": "2835:125:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2850:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2864:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2854:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2879:71:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2922:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2933:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2918:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2918:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2942:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulIdentifier", + "src": "2889:28:17" + }, + "nodeType": "YulFunctionCall", + "src": "2889:61:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2879:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2733:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2744:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2756:6:17", + "type": "" + } + ], + "src": "2689:278:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3039:196:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3085:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3094:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3097:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3087:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3087:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3087:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3060:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3069:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3056:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3056:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3081:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3052:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3052:32:17" + }, + "nodeType": "YulIf", + "src": "3049:2:17" + }, + { + "nodeType": "YulBlock", + "src": "3111:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3126:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3140:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3130:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3155:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3190:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3201:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3186:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3186:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3210:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "3165:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "3165:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3155:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3009:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3020:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3032:6:17", + "type": "" + } + ], + "src": "2973:262:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3324:324:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3370:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3379:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3382:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3372:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3372:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3372:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3345:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3354:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3341:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3341:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3366:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3337:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3337:32:17" + }, + "nodeType": "YulIf", + "src": "3334:2:17" + }, + { + "nodeType": "YulBlock", + "src": "3396:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3411:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3425:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3415:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3440:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3475:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3486:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3471:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3471:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3495:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "3450:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "3450:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3440:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3523:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3538:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3552:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3542:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3568:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3603:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3614:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3599:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3599:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3623:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "3578:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "3578:53:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3568:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3286:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3297:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3309:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3317:6:17", + "type": "" + } + ], + "src": "3241:407:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3719:195:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3765:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3774:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3777:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3767:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3767:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3767:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3740:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3749:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3736:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3736:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3761:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3732:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3732:32:17" + }, + "nodeType": "YulIf", + "src": "3729:2:17" + }, + { + "nodeType": "YulBlock", + "src": "3791:116:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3806:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3820:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3810:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3835:62:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3869:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3880:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3865:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3865:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3889:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nodeType": "YulIdentifier", + "src": "3845:19:17" + }, + "nodeType": "YulFunctionCall", + "src": "3845:52:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3835:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3689:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3700:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3712:6:17", + "type": "" + } + ], + "src": "3654:260:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3984:194:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4030:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4039:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4042:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4032:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4032:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4032:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4005:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4014:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4001:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4001:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4026:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3997:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3997:32:17" + }, + "nodeType": "YulIf", + "src": "3994:2:17" + }, + { + "nodeType": "YulBlock", + "src": "4056:115:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4071:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4085:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4075:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4100:61:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4133:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4144:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4129:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4129:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4153:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "4110:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "4110:51:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4100:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3954:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3965:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3977:6:17", + "type": "" + } + ], + "src": "3920:258:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4356:953:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4403:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4412:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4415:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4405:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4405:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4405:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4377:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4386:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4373:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4373:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4398:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4369:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4369:33:17" + }, + "nodeType": "YulIf", + "src": "4366:2:17" + }, + { + "nodeType": "YulBlock", + "src": "4429:115:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4444:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4458:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4448:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4473:61:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4506:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4517:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4502:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4502:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4526:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "4483:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "4483:51:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4473:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4554:116:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4569:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4583:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4573:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4599:61:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4632:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4643:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4628:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4628:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4652:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "4609:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "4609:51:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4599:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4680:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4695:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4709:2:17", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4699:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4725:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4760:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4771:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4756:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4756:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4780:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4735:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "4735:53:17" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4725:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4808:133:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4823:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4837:2:17", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4827:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4853:78:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4903:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4914:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4899:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4899:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4923:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_enum$_VotingType_$2425", + "nodeType": "YulIdentifier", + "src": "4863:35:17" + }, + "nodeType": "YulFunctionCall", + "src": "4863:68:17" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "4853:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4951:119:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4966:17:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4980:3:17", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4970:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4997:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5032:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5043:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5028:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5028:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5052:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5007:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "5007:53:17" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "4997:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5080:222:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5095:47:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5126:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5137:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5122:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5122:19:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5109:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "5109:33:17" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5099:6:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5189:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5198:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5201:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5191:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5191:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5191:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5161:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5169:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5158:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "5158:30:17" + }, + "nodeType": "YulIf", + "src": "5155:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "5219:73:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5264:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5275:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5260:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5260:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5284:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5229:30:17" + }, + "nodeType": "YulFunctionCall", + "src": "5229:63:17" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "5219:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64t_int64t_addresst_enum$_VotingType_$2425t_addresst_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4286:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4297:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4309:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4317:6:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "4325:6:17", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "4333:6:17", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "4341:6:17", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "4349:6:17", + "type": "" + } + ], + "src": "4184:1125:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5381:196:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5427:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5436:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5429:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5429:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5429:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5402:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5411:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5398:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5398:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5423:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5394:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5394:32:17" + }, + "nodeType": "YulIf", + "src": "5391:2:17" + }, + { + "nodeType": "YulBlock", + "src": "5453:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5468:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5482:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5472:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5497:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5532:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5543:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5528:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5552:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "5507:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "5507:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5497:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5351:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5362:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5374:6:17", + "type": "" + } + ], + "src": "5315:262:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5660:207:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5706:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5715:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5718:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5708:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5708:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5708:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5681:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5690:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5677:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5677:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5702:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5673:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5673:32:17" + }, + "nodeType": "YulIf", + "src": "5670:2:17" + }, + { + "nodeType": "YulBlock", + "src": "5732:128:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5747:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5761:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5751:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5776:74:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5822:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5833:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5818:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5818:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5842:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "5786:31:17" + }, + "nodeType": "YulFunctionCall", + "src": "5786:64:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5776:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5630:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5641:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5653:6:17", + "type": "" + } + ], + "src": "5583:284:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5948:205:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5994:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6003:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6006:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5996:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5996:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5996:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5969:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5978:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5965:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5965:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5990:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5961:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5961:32:17" + }, + "nodeType": "YulIf", + "src": "5958:2:17" + }, + { + "nodeType": "YulBlock", + "src": "6020:126:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6035:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6049:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6039:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6064:72:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6108:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6119:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6104:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6104:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6128:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_uint8_fromMemory", + "nodeType": "YulIdentifier", + "src": "6074:29:17" + }, + "nodeType": "YulFunctionCall", + "src": "6074:62:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6064:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint8_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5918:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5929:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5941:6:17", + "type": "" + } + ], + "src": "5873:280:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6224:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6241:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6264:5:17" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "6246:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "6246:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6234:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6234:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6234:37:17" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6212:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6219:3:17", + "type": "" + } + ], + "src": "6159:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6342:50:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6359:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6379:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "6364:14:17" + }, + "nodeType": "YulFunctionCall", + "src": "6364:21:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6352:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6352:34:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6352:34:17" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6330:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6337:3:17", + "type": "" + } + ], + "src": "6283:109:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6463:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6480:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6503:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6485:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "6485:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6473:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6473:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6473:37:17" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6451:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6458:3:17", + "type": "" + } + ], + "src": "6398:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6585:52:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6602:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6624:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "6607:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "6607:23:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6595:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6595:36:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6595:36:17" + } + ] + }, + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6573:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6580:3:17", + "type": "" + } + ], + "src": "6522:115:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6727:85:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6744:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6799:5:17" + } + ], + "functionName": { + "name": "convert_t_contract$_TGPassport_$2333_to_t_address", + "nodeType": "YulIdentifier", + "src": "6749:49:17" + }, + "nodeType": "YulFunctionCall", + "src": "6749:56:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6737:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6737:69:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6737:69:17" + } + ] + }, + "name": "abi_encode_t_contract$_TGPassport_$2333_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6715:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6722:3:17", + "type": "" + } + ], + "src": "6643:169:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6896:79:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6913:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6962:5:17" + } + ], + "functionName": { + "name": "convert_t_enum$_VotingType_$2425_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "6918:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "6918:50:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6906:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6906:63:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6906:63:17" + } + ] + }, + "name": "abi_encode_t_enum$_VotingType_$2425_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6884:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6891:3:17", + "type": "" + } + ], + "src": "6818:157:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7043:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7060:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7093:5:17" + } + ], + "functionName": { + "name": "convert_t_int64_to_t_int256", + "nodeType": "YulIdentifier", + "src": "7065:27:17" + }, + "nodeType": "YulFunctionCall", + "src": "7065:34:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7053:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7053:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7053:47:17" + } + ] + }, + "name": "abi_encode_t_int64_to_t_int256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7031:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7038:3:17", + "type": "" + } + ], + "src": "6981:125:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7173:51:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7190:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7211:5:17" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "7195:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "7195:22:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7183:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7183:35:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7183:35:17" + } + ] + }, + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7161:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7168:3:17", + "type": "" + } + ], + "src": "7112:112:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7322:272:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7332:53:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7379:5:17" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7346:32:17" + }, + "nodeType": "YulFunctionCall", + "src": "7346:39:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7336:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7394:78:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7460:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7465:6:17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7401:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "7401:71:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7394:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7507:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7514:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7503:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7503:16:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7521:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7526:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "7481:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "7481:52:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7481:52:17" + }, + { + "nodeType": "YulAssignment", + "src": "7542:46:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7553:3:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7580:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "7558:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "7558:29:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7549:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7549:39:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7542:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7303:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7310:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7318:3:17", + "type": "" + } + ], + "src": "7230:364:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7710:267:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7720:53:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7767:5:17" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7734:32:17" + }, + "nodeType": "YulFunctionCall", + "src": "7734:39:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7724:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7782:96:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7866:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7871:6:17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "7789:76:17" + }, + "nodeType": "YulFunctionCall", + "src": "7789:89:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7782:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7913:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7920:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7909:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7909:16:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7927:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7932:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "7887:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "7887:52:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7887:52:17" + }, + { + "nodeType": "YulAssignment", + "src": "7948:23:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7959:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7964:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7955:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7955:16:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7948:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7691:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7698:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7706:3:17", + "type": "" + } + ], + "src": "7600:377:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8129:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8139:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8205:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8210:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8146:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "8146:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8139:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8311:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "8222:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "8222:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8222:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "8324:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8335:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8340:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8331:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8331:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8324:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8117:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8125:3:17", + "type": "" + } + ], + "src": "7983:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8501:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8511:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8577:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8582:2:17", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8518:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "8518:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8511:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8683:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9", + "nodeType": "YulIdentifier", + "src": "8594:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "8594:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8594:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "8696:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8707:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8712:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8703:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8703:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8696:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8489:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8497:3:17", + "type": "" + } + ], + "src": "8355:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8873:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8883:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8949:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8954:2:17", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8890:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "8890:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8883:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9055:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulIdentifier", + "src": "8966:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "8966:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8966:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "9068:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9079:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9084:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9075:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9075:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9068:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8861:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8869:3:17", + "type": "" + } + ], + "src": "8727:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9245:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9255:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9321:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9326:2:17", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9262:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "9262:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9255:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9427:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "nodeType": "YulIdentifier", + "src": "9338:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "9338:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "9338:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "9440:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9451:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9456:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9447:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9447:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9440:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9233:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9241:3:17", + "type": "" + } + ], + "src": "9099:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9617:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9627:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9693:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9698:2:17", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9634:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "9634:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9627:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9799:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "nodeType": "YulIdentifier", + "src": "9710:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "9710:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "9710:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "9812:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9823:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9828:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9819:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9819:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9812:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9605:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9613:3:17", + "type": "" + } + ], + "src": "9471:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9989:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9999:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10065:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10070:2:17", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10006:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "10006:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9999:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10171:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c", + "nodeType": "YulIdentifier", + "src": "10082:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "10082:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10082:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "10184:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10195:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10200:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10191:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10191:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10184:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9977:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9985:3:17", + "type": "" + } + ], + "src": "9843:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10361:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10371:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10437:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10442:2:17", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10378:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "10378:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10371:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10543:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24", + "nodeType": "YulIdentifier", + "src": "10454:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "10454:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10454:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "10556:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10567:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10572:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10563:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10563:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10556:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10349:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10357:3:17", + "type": "" + } + ], + "src": "10215:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10733:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10743:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10809:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10814:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10750:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "10750:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10743:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10915:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulIdentifier", + "src": "10826:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "10826:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10826:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "10928:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10939:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10944:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10935:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10935:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10928:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10721:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10729:3:17", + "type": "" + } + ], + "src": "10587:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11122:235:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11132:90:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11215:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11220:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "11139:75:17" + }, + "nodeType": "YulFunctionCall", + "src": "11139:83:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11132:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11320:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nodeType": "YulIdentifier", + "src": "11231:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "11231:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11231:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "11333:18:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11344:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11349:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11340:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11340:11:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11333:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11110:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11118:3:17", + "type": "" + } + ], + "src": "10959:398:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11527:238:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11537:92:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11621:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11626:2:17", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "11544:76:17" + }, + "nodeType": "YulFunctionCall", + "src": "11544:85:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11537:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11727:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulIdentifier", + "src": "11638:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "11638:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11638:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "11740:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11751:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11756:2:17", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11747:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11747:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11740:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11515:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11523:3:17", + "type": "" + } + ], + "src": "11363:402:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11917:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11927:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11993:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11998:2:17", + "type": "", + "value": "50" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11934:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "11934:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11927:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12099:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "nodeType": "YulIdentifier", + "src": "12010:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "12010:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12010:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "12112:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12123:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12128:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12119:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12119:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12112:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11905:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11913:3:17", + "type": "" + } + ], + "src": "11771:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12307:238:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12317:92:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12401:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12406:2:17", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "12324:76:17" + }, + "nodeType": "YulFunctionCall", + "src": "12324:85:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12317:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12507:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "12418:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "12418:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12418:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "12520:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12531:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12536:2:17", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12527:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12527:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12520:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12295:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12303:3:17", + "type": "" + } + ], + "src": "12143:402:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12697:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12707:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12773:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12778:2:17", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12714:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "12714:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12707:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12879:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulIdentifier", + "src": "12790:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "12790:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12790:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "12892:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12903:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12908:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12899:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12899:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12892:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12685:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12693:3:17", + "type": "" + } + ], + "src": "12551:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12988:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13005:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13028:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "13010:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "13010:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12998:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12998:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12998:37:17" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12976:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12983:3:17", + "type": "" + } + ], + "src": "12923:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13235:191:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13246:154:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13396:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "13253:141:17" + }, + "nodeType": "YulFunctionCall", + "src": "13253:147:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13246:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13410:10:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13417:3:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13410:3:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13222:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13231:3:17", + "type": "" + } + ], + "src": "13047:379:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13818:581:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13829:155:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13980:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "13836:142:17" + }, + "nodeType": "YulFunctionCall", + "src": "13836:148:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13829:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13994:102:17", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14083:6:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14092:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "14001:81:17" + }, + "nodeType": "YulFunctionCall", + "src": "14001:95:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13994:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14106:155:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14257:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "14113:142:17" + }, + "nodeType": "YulFunctionCall", + "src": "14113:148:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14106:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14271:102:17", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "14360:6:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14369:3:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "14278:81:17" + }, + "nodeType": "YulFunctionCall", + "src": "14278:95:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14271:3:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14383:10:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14390:3:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14383:3:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13789:3:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13795:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13803:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13814:3:17", + "type": "" + } + ], + "src": "13432:967:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14503:124:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14513:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14525:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14536:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14521:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14521:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14513:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14593:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14606:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14617:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14602:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14602:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "14549:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "14549:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14549:71:17" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14475:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14487:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14498:4:17", + "type": "" + } + ], + "src": "14405:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14922:694:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14932:27:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14944:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14955:3:17", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14940:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14940:19:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14932:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15013:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15026:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15037:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15022:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15022:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "14969:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "14969:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14969:71:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15090:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15103:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15114:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15099:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15099:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "15050:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "15050:68:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15050:68:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "15166:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15179:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15190:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15175:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15175:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "15128:37:17" + }, + "nodeType": "YulFunctionCall", + "src": "15128:66:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15128:66:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "15248:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15261:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15272:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15257:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15257:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "15204:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "15204:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15204:72:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "15343:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15356:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15367:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15352:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15352:19:17" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_VotingType_$2425_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "15286:56:17" + }, + "nodeType": "YulFunctionCall", + "src": "15286:86:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15286:86:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "15426:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15439:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15450:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15435:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15435:19:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "15382:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "15382:73:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15382:73:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15476:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15487:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15472:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15472:19:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15497:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15503:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15493:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15493:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15465:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "15465:49:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15465:49:17" + }, + { + "nodeType": "YulAssignment", + "src": "15523:86:17", + "value": { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "15595:6:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15604:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15531:63:17" + }, + "nodeType": "YulFunctionCall", + "src": "15531:78:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15523:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_int64_t_bool_t_address_t_enum$_VotingType_$2425_t_address_t_string_memory_ptr__to_t_address_t_int64_t_bool_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14846:9:17", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "14858:6:17", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "14866:6:17", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "14874:6:17", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "14882:6:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "14890:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14898:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14906:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14917:4:17", + "type": "" + } + ], + "src": "14633:983:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15714:118:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15724:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15736:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15747:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15732:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15732:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15724:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15798:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15811:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15822:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15807:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15807:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "15760:37:17" + }, + "nodeType": "YulFunctionCall", + "src": "15760:65:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15760:65:17" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15686:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15698:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15709:4:17", + "type": "" + } + ], + "src": "15622:210:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15936:124:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15946:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15958:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15969:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15954:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15954:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15946:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16026:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16039:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16050:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16035:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16035:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "15982:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "15982:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15982:71:17" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15908:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15920:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15931:4:17", + "type": "" + } + ], + "src": "15838:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16162:122:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16172:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16184:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16195:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16180:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16180:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16172:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16250:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16263:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16274:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16259:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16259:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nodeType": "YulIdentifier", + "src": "16208:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "16208:69:17" + }, + "nodeType": "YulExpressionStatement", + "src": "16208:69:17" + } + ] + }, + "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16134:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16146:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16157:4:17", + "type": "" + } + ], + "src": "16066:218:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16407:143:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16417:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16429:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16440:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16425:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16425:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16417:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16516:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16529:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16540:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16525:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16525:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_TGPassport_$2333_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "16453:62:17" + }, + "nodeType": "YulFunctionCall", + "src": "16453:90:17" + }, + "nodeType": "YulExpressionStatement", + "src": "16453:90:17" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_TGPassport_$2333__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16379:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16391:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16402:4:17", + "type": "" + } + ], + "src": "16290:260:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16650:120:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16660:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16672:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16683:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16668:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16668:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16660:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16736:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16749:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16760:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16745:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16745:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "16696:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "16696:67:17" + }, + "nodeType": "YulExpressionStatement", + "src": "16696:67:17" + } + ] + }, + "name": "abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16622:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16634:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16645:4:17", + "type": "" + } + ], + "src": "16556:214:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17016:535:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17026:27:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17038:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17049:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17034:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17034:19:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17026:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17104:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17117:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17128:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17113:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17113:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int256_fromStack", + "nodeType": "YulIdentifier", + "src": "17063:40:17" + }, + "nodeType": "YulFunctionCall", + "src": "17063:68:17" + }, + "nodeType": "YulExpressionStatement", + "src": "17063:68:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "17185:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17198:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17209:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17194:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17194:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "17141:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "17141:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "17141:72:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "17280:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17293:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17304:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17289:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17289:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_VotingType_$2425_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "17223:56:17" + }, + "nodeType": "YulFunctionCall", + "src": "17223:85:17" + }, + "nodeType": "YulExpressionStatement", + "src": "17223:85:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "17362:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17375:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17386:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17371:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17371:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "17318:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "17318:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "17318:72:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17411:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17422:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17407:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17407:19:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17432:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17438:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17428:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17428:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17400:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "17400:49:17" + }, + "nodeType": "YulExpressionStatement", + "src": "17400:49:17" + }, + { + "nodeType": "YulAssignment", + "src": "17458:86:17", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "17530:6:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17539:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17466:63:17" + }, + "nodeType": "YulFunctionCall", + "src": "17466:78:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17458:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_address_t_enum$_VotingType_$2425_t_address_t_string_memory_ptr__to_t_int256_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16956:9:17", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "16968:6:17", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "16976:6:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "16984:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16992:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17000:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17011:4:17", + "type": "" + } + ], + "src": "16776:775:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17796:534:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17806:27:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17818:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17829:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17814:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17814:19:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17806:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17883:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17896:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17907:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17892:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17892:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "17843:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "17843:67:17" + }, + "nodeType": "YulExpressionStatement", + "src": "17843:67:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "17964:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17977:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17988:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17973:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "17973:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "17920:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "17920:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "17920:72:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18059:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18072:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18083:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18068:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18068:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_VotingType_$2425_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "18002:56:17" + }, + "nodeType": "YulFunctionCall", + "src": "18002:85:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18002:85:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18141:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18154:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18165:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18150:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18150:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "18097:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "18097:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18097:72:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18190:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18201:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18186:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18186:19:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18211:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18217:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18207:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18207:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18179:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "18179:49:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18179:49:17" + }, + { + "nodeType": "YulAssignment", + "src": "18237:86:17", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "18309:6:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18318:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18245:63:17" + }, + "nodeType": "YulFunctionCall", + "src": "18245:78:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18237:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_address_t_enum$_VotingType_$2425_t_address_t_string_memory_ptr__to_t_int64_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17736:9:17", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "17748:6:17", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "17756:6:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "17764:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "17772:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17780:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17791:4:17", + "type": "" + } + ], + "src": "17557:773:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18599:613:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18609:27:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18621:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18632:3:17", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18617:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18617:19:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18609:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18686:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18699:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18710:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18695:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18695:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "18646:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "18646:67:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18646:67:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18763:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18776:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18787:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18772:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18772:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "18723:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "18723:68:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18723:68:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18845:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18858:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18869:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18854:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18854:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "18801:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "18801:72:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18801:72:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18940:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18953:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18964:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18949:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "18949:18:17" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_VotingType_$2425_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "18883:56:17" + }, + "nodeType": "YulFunctionCall", + "src": "18883:85:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18883:85:17" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "19022:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19035:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19046:3:17", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19031:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19031:19:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "18978:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "18978:73:17" + }, + "nodeType": "YulExpressionStatement", + "src": "18978:73:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19072:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19083:3:17", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19068:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19068:19:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19093:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19099:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19089:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19089:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19061:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "19061:49:17" + }, + "nodeType": "YulExpressionStatement", + "src": "19061:49:17" + }, + { + "nodeType": "YulAssignment", + "src": "19119:86:17", + "value": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "19191:6:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19200:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19127:63:17" + }, + "nodeType": "YulFunctionCall", + "src": "19127:78:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19119:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_int64_t_address_t_enum$_VotingType_$2425_t_address_t_string_memory_ptr__to_t_int64_t_int64_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18531:9:17", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "18543:6:17", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "18551:6:17", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "18559:6:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "18567:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "18575:6:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18583:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18594:4:17", + "type": "" + } + ], + "src": "18336:876:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19336:195:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19346:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19358:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19369:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19354:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19354:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19346:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19393:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19404:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19389:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19389:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19412:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19418:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19408:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19408:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19382:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "19382:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "19382:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "19438:86:17", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19510:6:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19519:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19446:63:17" + }, + "nodeType": "YulFunctionCall", + "src": "19446:78:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19438:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19308:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19320:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19331:4:17", + "type": "" + } + ], + "src": "19218:313:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19708:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19718:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19730:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19741:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19726:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19726:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19718:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19765:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19776:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19761:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19761:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19784:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19790:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19780:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "19780:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19754:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "19754:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "19754:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "19810:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19944:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19818:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "19818:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19810:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19688:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19703:4:17", + "type": "" + } + ], + "src": "19537:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20133:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20143:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20155:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20166:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20151:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20151:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20143:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20190:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20201:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20186:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20186:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20209:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20215:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20205:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20205:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20179:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "20179:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "20179:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "20235:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20369:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20243:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "20243:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20235:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20113:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20128:4:17", + "type": "" + } + ], + "src": "19962:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20558:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20568:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20580:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20591:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20576:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20576:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20568:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20615:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20626:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20611:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20611:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20634:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20640:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20630:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "20630:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20604:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "20604:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "20604:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "20660:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20794:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20668:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "20668:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20660:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20538:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20553:4:17", + "type": "" + } + ], + "src": "20387:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20983:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20993:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21005:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21016:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21001:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21001:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20993:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21040:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21051:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21036:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21036:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21059:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21065:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21055:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21055:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21029:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21029:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21029:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "21085:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21219:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21093:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "21093:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21085:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20963:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20978:4:17", + "type": "" + } + ], + "src": "20812:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21408:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21418:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21430:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21441:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21426:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21426:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21418:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21465:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21476:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21461:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21461:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21484:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21490:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21480:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21480:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21454:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21454:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21454:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "21510:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21644:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21518:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "21518:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21510:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21388:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21403:4:17", + "type": "" + } + ], + "src": "21237:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21833:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21843:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21855:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21866:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21851:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21851:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21843:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21890:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21901:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21886:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21886:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21909:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21915:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21905:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "21905:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21879:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "21879:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "21879:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "21935:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22069:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21943:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "21943:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21935:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21813:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21828:4:17", + "type": "" + } + ], + "src": "21662:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22258:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22268:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22280:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22291:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22276:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22276:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22268:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22315:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22326:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22311:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22311:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22334:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22340:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22330:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22330:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22304:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "22304:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "22304:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "22360:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22494:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22368:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "22368:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22360:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22238:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22253:4:17", + "type": "" + } + ], + "src": "22087:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22683:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22693:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22705:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22716:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22701:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22701:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22693:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22740:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22751:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22736:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22736:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22759:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22765:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22755:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "22755:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22729:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "22729:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "22729:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "22785:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22919:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22793:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "22793:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22785:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22663:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22678:4:17", + "type": "" + } + ], + "src": "22512:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23108:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23118:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23130:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23141:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23126:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23126:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23118:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23165:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23176:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23161:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23161:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23184:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23190:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23180:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23180:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23154:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "23154:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23154:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "23210:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23344:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23218:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "23218:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23210:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23088:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23103:4:17", + "type": "" + } + ], + "src": "22937:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23533:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23543:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23555:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23566:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23551:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23551:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23543:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23590:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23601:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23586:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23586:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23609:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23615:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23605:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23605:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23579:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "23579:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23579:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "23635:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23769:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23643:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "23643:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23635:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23513:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23528:4:17", + "type": "" + } + ], + "src": "23362:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23885:124:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23895:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23907:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23918:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23903:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23903:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23895:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23975:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23988:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23999:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23984:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "23984:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "23931:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "23931:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "23931:71:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23857:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23869:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23880:4:17", + "type": "" + } + ], + "src": "23787:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24056:88:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24066:30:17", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "24076:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "24076:20:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24066:6:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24125:6:17" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "24133:4:17" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "24105:19:17" + }, + "nodeType": "YulFunctionCall", + "src": "24105:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "24105:33:17" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "24040:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24049:6:17", + "type": "" + } + ], + "src": "24015:129:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24190:35:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24200:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24216:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "24210:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "24210:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24200:6:17" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24183:6:17", + "type": "" + } + ], + "src": "24150:75:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24298:241:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24403:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "24405:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "24405:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "24405:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24375:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24383:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "24372:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "24372:30:17" + }, + "nodeType": "YulIf", + "src": "24369:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "24435:37:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24465:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "24443:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "24443:29:17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "24435:4:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24509:23:17", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "24521:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24527:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24517:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "24517:15:17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "24509:4:17" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24282:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "24293:4:17", + "type": "" + } + ], + "src": "24231:308:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24604:40:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24615:22:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24631:5:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "24625:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "24625:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24615:6:17" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24587:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24597:6:17", + "type": "" + } + ], + "src": "24545:99:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24763:34:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24773:18:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24788:3:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "24773:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24735:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24740:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "24751:11:17", + "type": "" + } + ], + "src": "24650:147:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24899:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24916:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24921:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24909:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "24909:19:17" + }, + "nodeType": "YulExpressionStatement", + "src": "24909:19:17" + }, + { + "nodeType": "YulAssignment", + "src": "24937:29:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24956:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24961:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24952:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "24952:14:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "24937:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24871:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24876:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "24887:11:17", + "type": "" + } + ], + "src": "24803:169:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25092:34:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25102:18:17", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25117:3:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "25102:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25064:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "25069:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "25080:11:17", + "type": "" + } + ], + "src": "24978:148:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25176:261:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25186:25:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25209:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25191:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "25191:20:17" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25186:1:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25220:25:17", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25243:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25225:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "25225:20:17" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25220:1:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25383:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "25385:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "25385:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "25385:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25304:1:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25311:66:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25379:1:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "25307:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "25307:74:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "25301:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "25301:81:17" + }, + "nodeType": "YulIf", + "src": "25298:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "25415:16:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25426:1:17" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25429:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25422:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "25422:9:17" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "25415:3:17" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "25163:1:17", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "25166:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "25172:3:17", + "type": "" + } + ], + "src": "25132:305:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25491:300:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25501:25:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25524:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25506:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "25506:20:17" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25501:1:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25535:25:17", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25558:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25540:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "25540:20:17" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25535:1:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25733:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "25735:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "25735:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "25735:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25645:1:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25638:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "25638:9:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25631:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "25631:17:17" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25653:1:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25660:66:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25728:1:17" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "25656:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "25656:74:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "25650:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "25650:81:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "25627:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "25627:105:17" + }, + "nodeType": "YulIf", + "src": "25624:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "25765:20:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25780:1:17" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25783:1:17" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "25776:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "25776:9:17" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "25765:7:17" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "25474:1:17", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "25477:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "25483:7:17", + "type": "" + } + ], + "src": "25443:348:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25842:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25852:35:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25881:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "25863:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "25863:24:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "25852:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25824:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "25834:7:17", + "type": "" + } + ], + "src": "25797:96:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25941:48:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25951:32:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25976:5:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25969:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "25969:13:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25962:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "25962:21:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "25951:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25923:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "25933:7:17", + "type": "" + } + ], + "src": "25899:90:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26040:32:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26050:16:17", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26061:5:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26050:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26022:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26032:7:17", + "type": "" + } + ], + "src": "25995:77:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26122:105:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26132:89:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26147:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26154:66:17", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "26143:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "26143:78:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26132:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26104:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26114:7:17", + "type": "" + } + ], + "src": "26078:149:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26293:81:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26303:16:17", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26314:5:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26303:7:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26362:5:17" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_VotingType_$2425", + "nodeType": "YulIdentifier", + "src": "26320:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "26320:48:17" + }, + "nodeType": "YulExpressionStatement", + "src": "26320:48:17" + } + ] + }, + "name": "cleanup_t_enum$_VotingType_$2425", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26275:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26285:7:17", + "type": "" + } + ], + "src": "26233:141:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26423:47:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26433:31:17", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26455:1:17", + "type": "", + "value": "7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26458:5:17" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "26444:10:17" + }, + "nodeType": "YulFunctionCall", + "src": "26444:20:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26433:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26405:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26415:7:17", + "type": "" + } + ], + "src": "26380:90:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26521:81:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26531:65:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26546:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26553:42:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "26542:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "26542:54:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26531:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26503:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26513:7:17", + "type": "" + } + ], + "src": "26476:126:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26653:32:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26663:16:17", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26674:5:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26663:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26635:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26645:7:17", + "type": "" + } + ], + "src": "26608:77:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26734:43:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26744:27:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26759:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26766:4:17", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "26755:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "26755:16:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26744:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26716:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26726:7:17", + "type": "" + } + ], + "src": "26691:86:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26862:85:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26872:69:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26935:5:17" + } + ], + "functionName": { + "name": "convert_t_contract$_TGPassport_$2333_to_t_uint160", + "nodeType": "YulIdentifier", + "src": "26885:49:17" + }, + "nodeType": "YulFunctionCall", + "src": "26885:56:17" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "26872:9:17" + } + ] + } + ] + }, + "name": "convert_t_contract$_TGPassport_$2333_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26842:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "26852:9:17", + "type": "" + } + ], + "src": "26783:164:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27032:53:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27042:37:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27073:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "27055:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "27055:24:17" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "27042:9:17" + } + ] + } + ] + }, + "name": "convert_t_contract$_TGPassport_$2333_to_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27012:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "27022:9:17", + "type": "" + } + ], + "src": "26953:132:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27164:68:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27174:52:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27220:5:17" + } + ], + "functionName": { + "name": "cleanup_t_enum$_VotingType_$2425", + "nodeType": "YulIdentifier", + "src": "27187:32:17" + }, + "nodeType": "YulFunctionCall", + "src": "27187:39:17" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "27174:9:17" + } + ] + } + ] + }, + "name": "convert_t_enum$_VotingType_$2425_to_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27144:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "27154:9:17", + "type": "" + } + ], + "src": "27091:141:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27295:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27305:35:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27334:5:17" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "27318:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "27318:22:17" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "27305:9:17" + } + ] + } + ] + }, + "name": "convert_t_int64_to_t_int256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27275:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "27285:9:17", + "type": "" + } + ], + "src": "27238:108:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27403:103:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "27426:3:17" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "27431:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27436:6:17" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "27413:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "27413:30:17" + }, + "nodeType": "YulExpressionStatement", + "src": "27413:30:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "27484:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27489:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27480:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "27480:16:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27498:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27473:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "27473:27:17" + }, + "nodeType": "YulExpressionStatement", + "src": "27473:27:17" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "27385:3:17", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "27390:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "27395:6:17", + "type": "" + } + ], + "src": "27352:154:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27561:258:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "27571:10:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27580:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "27575:1:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27640:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "27665:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27670:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27661:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "27661:11:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "27684:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27689:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27680:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "27680:11:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "27674:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "27674:18:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27654:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "27654:39:17" + }, + "nodeType": "YulExpressionStatement", + "src": "27654:39:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27601:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27604:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "27598:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "27598:13:17" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "27612:19:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27614:15:17", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27623:1:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27626:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27619:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "27619:10:17" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27614:1:17" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "27594:3:17", + "statements": [] + }, + "src": "27590:113:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27737:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "27787:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27792:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27783:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "27783:16:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27801:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27776:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "27776:27:17" + }, + "nodeType": "YulExpressionStatement", + "src": "27776:27:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27718:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27721:6:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "27715:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "27715:13:17" + }, + "nodeType": "YulIf", + "src": "27712:2:17" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "27543:3:17", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "27548:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "27553:6:17", + "type": "" + } + ], + "src": "27512:307:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27868:128:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27878:33:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27905:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "27887:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "27887:24:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27878:5:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27939:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "27941:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "27941:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "27941:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27926:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27933:4:17", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "27923:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "27923:15:17" + }, + "nodeType": "YulIf", + "src": "27920:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "27970:20:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27981:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27988:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27977:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "27977:13:17" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "27970:3:17" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27854:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "27864:3:17", + "type": "" + } + ], + "src": "27825:171:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28053:269:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28063:22:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "28077:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28083:1:17", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "28073:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "28073:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28063:6:17" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28094:38:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "28124:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28130:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "28120:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "28120:12:17" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "28098:18:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28171:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28185:27:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28199:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28207:4:17", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "28195:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "28195:17:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28185:6:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "28151:18:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "28144:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "28144:26:17" + }, + "nodeType": "YulIf", + "src": "28141:2:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28274:42:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "28288:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "28288:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28288:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "28238:18:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28261:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28269:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "28258:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "28258:14:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "28235:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "28235:38:17" + }, + "nodeType": "YulIf", + "src": "28232:2:17" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "28037:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "28046:6:17", + "type": "" + } + ], + "src": "28002:320:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28371:238:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "28381:58:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28403:6:17" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "28433:4:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "28411:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "28411:27:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28399:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "28399:40:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "28385:10:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28550:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "28552:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "28552:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28552:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "28493:10:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28505:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "28490:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "28490:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "28529:10:17" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28541:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "28526:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "28526:22:17" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "28487:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "28487:62:17" + }, + "nodeType": "YulIf", + "src": "28484:2:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28588:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "28592:10:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28581:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "28581:22:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28581:22:17" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "28357:6:17", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "28365:4:17", + "type": "" + } + ], + "src": "28328:281:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28643:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28660:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28663:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28653:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "28653:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28653:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28757:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28760:4:17", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28750:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "28750:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28750:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28781:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28784:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "28774:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "28774:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28774:15:17" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "28615:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28829:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28846:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28849:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28839:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "28839:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28839:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28943:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28946:4:17", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28936:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "28936:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28936:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28967:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28970:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "28960:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "28960:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "28960:15:17" + } + ] + }, + "name": "panic_error_0x21", + "nodeType": "YulFunctionDefinition", + "src": "28801:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29015:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29032:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29035:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29025:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "29025:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "29025:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29129:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29132:4:17", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29122:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "29122:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "29122:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29153:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29156:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "29146:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "29146:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "29146:15:17" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "28987:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29201:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29218:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29221:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29211:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "29211:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "29211:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29315:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29318:4:17", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29308:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "29308:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "29308:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29339:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29342:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "29332:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "29332:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "29332:15:17" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "29173:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29407:54:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29417:38:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29435:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29442:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29431:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "29431:14:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29451:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "29447:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "29447:7:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "29427:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "29427:28:17" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "29417:6:17" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "29390:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "29400:6:17", + "type": "" + } + ], + "src": "29359:102:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29573:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29595:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29603:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29591:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "29591:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "29607:34:17", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29584:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "29584:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "29584:58:17" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "29565:6:17", + "type": "" + } + ], + "src": "29467:182:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29761:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29783:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29791:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29779:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "29779:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "29795:31:17", + "type": "", + "value": "User did not registred in TGP" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29772:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "29772:55:17" + }, + "nodeType": "YulExpressionStatement", + "src": "29772:55:17" + } + ] + }, + "name": "store_literal_in_memory_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "29753:6:17", + "type": "" + } + ], + "src": "29655:179:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29946:119:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29968:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29976:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29964:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "29964:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "29980:34:17", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29957:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "29957:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "29957:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30036:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30044:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30032:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "30032:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30049:8:17", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30025:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "30025:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "30025:33:17" + } + ] + }, + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "29938:6:17", + "type": "" + } + ], + "src": "29840:225:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30177:66:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30199:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30207:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30195:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "30195:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30211:24:17", + "type": "", + "value": "Unable to transfer fee" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30188:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "30188:48:17" + }, + "nodeType": "YulExpressionStatement", + "src": "30188:48:17" + } + ] + }, + "name": "store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30169:6:17", + "type": "" + } + ], + "src": "30071:172:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30355:68:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30377:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30385:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30373:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "30373:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30389:26:17", + "type": "", + "value": "Passport fee is not paid" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30366:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "30366:50:17" + }, + "nodeType": "YulExpressionStatement", + "src": "30366:50:17" + } + ] + }, + "name": "store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30347:6:17", + "type": "" + } + ], + "src": "30249:174:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30535:72:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30557:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30565:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30553:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "30553:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30569:30:17", + "type": "", + "value": "this chat tgid already taken" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30546:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "30546:54:17" + }, + "nodeType": "YulExpressionStatement", + "src": "30546:54:17" + } + ] + }, + "name": "store_literal_in_memory_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30527:6:17", + "type": "" + } + ], + "src": "30429:178:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30719:128:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30741:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30749:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30737:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "30737:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30753:34:17", + "type": "", + "value": "Contract does not match with cor" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30730:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "30730:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "30730:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30809:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30817:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30805:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "30805:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30822:17:17", + "type": "", + "value": "responding type" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30798:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "30798:42:17" + }, + "nodeType": "YulExpressionStatement", + "src": "30798:42:17" + } + ] + }, + "name": "store_literal_in_memory_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30711:6:17", + "type": "" + } + ], + "src": "30613:234:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30959:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30981:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30989:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30977:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "30977:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30993:34:17", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30970:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "30970:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "30970:58:17" + } + ] + }, + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30951:6:17", + "type": "" + } + ], + "src": "30853:182:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31147:8:17", + "statements": [] + }, + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31139:6:17", + "type": "" + } + ], + "src": "31041:114:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31267:67:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31289:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31297:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31285:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "31285:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31301:25:17", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31278:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "31278:49:17" + }, + "nodeType": "YulExpressionStatement", + "src": "31278:49:17" + } + ] + }, + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31259:6:17", + "type": "" + } + ], + "src": "31161:173:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31446:131:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31468:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31476:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31464:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "31464:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31480:34:17", + "type": "", + "value": "already has been approved OR did" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31457:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "31457:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "31457:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31536:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31544:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31532:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "31532:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31549:20:17", + "type": "", + "value": "n't applied at all" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31525:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "31525:45:17" + }, + "nodeType": "YulExpressionStatement", + "src": "31525:45:17" + } + ] + }, + "name": "store_literal_in_memory_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31438:6:17", + "type": "" + } + ], + "src": "31340:237:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31689:61:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31711:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31719:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31707:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "31707:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31723:19:17", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31700:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "31700:43:17" + }, + "nodeType": "YulExpressionStatement", + "src": "31700:43:17" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31681:6:17", + "type": "" + } + ], + "src": "31583:167:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31862:128:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31884:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31892:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31880:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "31880:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31896:34:17", + "type": "", + "value": "AccessControl: can only renounce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31873:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "31873:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "31873:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31952:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31960:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31948:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "31948:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31965:17:17", + "type": "", + "value": " roles for self" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31941:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "31941:42:17" + }, + "nodeType": "YulExpressionStatement", + "src": "31941:42:17" + } + ] + }, + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31854:6:17", + "type": "" + } + ], + "src": "31756:234:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32054:62:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32088:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nodeType": "YulIdentifier", + "src": "32090:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "32090:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "32090:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32077:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32084:1:17", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "32074:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "32074:12:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32067:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32067:20:17" + }, + "nodeType": "YulIf", + "src": "32064:2:17" + } + ] + }, + "name": "validator_assert_t_enum$_VotingType_$2425", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32047:5:17", + "type": "" + } + ], + "src": "31996:120:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32165:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32222:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32231:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32234:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32224:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32224:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "32224:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32188:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32213:5:17" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "32195:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "32195:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32185:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "32185:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32178:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32178:43:17" + }, + "nodeType": "YulIf", + "src": "32175:2:17" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32158:5:17", + "type": "" + } + ], + "src": "32122:122:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32290:76:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32344:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32353:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32356:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32346:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32346:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "32346:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32313:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32335:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "32320:14:17" + }, + "nodeType": "YulFunctionCall", + "src": "32320:21:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32310:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "32310:32:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32303:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32303:40:17" + }, + "nodeType": "YulIf", + "src": "32300:2:17" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32283:5:17", + "type": "" + } + ], + "src": "32250:116:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32415:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32472:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32481:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32484:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32474:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32474:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "32474:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32438:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32463:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "32445:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "32445:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32435:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "32435:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32428:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32428:43:17" + }, + "nodeType": "YulIf", + "src": "32425:2:17" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32408:5:17", + "type": "" + } + ], + "src": "32372:122:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32542:78:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32598:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32607:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32610:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32600:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32600:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "32600:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32565:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32589:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "32572:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "32572:23:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32562:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "32562:34:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32555:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32555:42:17" + }, + "nodeType": "YulIf", + "src": "32552:2:17" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32535:5:17", + "type": "" + } + ], + "src": "32500:120:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32684:56:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32718:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32727:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32730:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32720:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32720:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "32720:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32707:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32714:1:17", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "32704:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "32704:12:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32697:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32697:20:17" + }, + "nodeType": "YulIf", + "src": "32694:2:17" + } + ] + }, + "name": "validator_revert_t_enum$_VotingType_$2425", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32677:5:17", + "type": "" + } + ], + "src": "32626:114:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32787:77:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32842:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32851:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32854:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32844:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32844:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "32844:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32810:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32833:5:17" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "32817:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "32817:22:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32807:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "32807:33:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32800:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32800:41:17" + }, + "nodeType": "YulIf", + "src": "32797:2:17" + } + ] + }, + "name": "validator_revert_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32780:5:17", + "type": "" + } + ], + "src": "32746:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32913:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32970:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32979:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32982:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32972:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32972:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "32972:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32936:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32961:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "32943:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "32943:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32933:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "32933:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32926:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "32926:43:17" + }, + "nodeType": "YulIf", + "src": "32923:2:17" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32906:5:17", + "type": "" + } + ], + "src": "32870:122:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33039:77:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "33094:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33103:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33106:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "33096:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "33096:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "33096:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "33062:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "33085:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "33069:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "33069:22:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "33059:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "33059:33:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "33052:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "33052:41:17" + }, + "nodeType": "YulIf", + "src": "33049:2:17" + } + ] + }, + "name": "validator_revert_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "33032:5:17", + "type": "" + } + ], + "src": "32998:118:17" + } + ] + }, + "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_t_enum$_VotingType_$2425(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_enum$_VotingType_$2425(value)\n }\n\n function abi_decode_t_int64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int64(value)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint8_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64t_int64t_addresst_enum$_VotingType_$2425t_addresst_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_enum$_VotingType_$2425(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 160))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value5 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_t_contract$_TGPassport_$2333_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_TGPassport_$2333_to_t_address(value))\n }\n\n function abi_encode_t_enum$_VotingType_$2425_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_VotingType_$2425_to_t_uint8(value))\n }\n\n function abi_encode_t_int64_to_t_int256_fromStack(value, pos) {\n mstore(pos, convert_t_int64_to_t_int256(value))\n }\n\n function abi_encode_t_int64_to_t_int64_fromStack(value, pos) {\n mstore(pos, cleanup_t_int64(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\n }\n\n function abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 23)\n store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(pos)\n end := add(pos, 23)\n }\n\n function abi_encode_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 17)\n store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(pos)\n end := add(pos, 17)\n }\n\n function abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n pos := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n end := pos\n }\n\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_int64_t_bool_t_address_t_enum$_VotingType_$2425_t_address_t_string_memory_ptr__to_t_address_t_int64_t_bool_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_int64_to_t_int64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bool_to_t_bool_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_enum$_VotingType_$2425_to_t_uint8_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_address_to_t_address_fromStack(value5, add(headStart, 160))\n\n mstore(add(headStart, 192), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value6, tail)\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_contract$_TGPassport_$2333__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_TGPassport_$2333_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_int64_t_address_t_enum$_VotingType_$2425_t_address_t_string_memory_ptr__to_t_int256_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_int64_to_t_int256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_enum$_VotingType_$2425_to_t_uint8_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value4, tail)\n\n }\n\n function abi_encode_tuple_t_int64_t_address_t_enum$_VotingType_$2425_t_address_t_string_memory_ptr__to_t_int64_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_enum$_VotingType_$2425_to_t_uint8_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value4, tail)\n\n }\n\n function abi_encode_tuple_t_int64_t_int64_t_address_t_enum$_VotingType_$2425_t_address_t_string_memory_ptr__to_t_int64_t_int64_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_int64_to_t_int64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_enum$_VotingType_$2425_to_t_uint8_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n mstore(add(headStart, 160), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value5, tail)\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function cleanup_t_enum$_VotingType_$2425(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_VotingType_$2425(value)\n }\n\n function cleanup_t_int64(value) -> cleaned {\n cleaned := signextend(7, value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function convert_t_contract$_TGPassport_$2333_to_t_address(value) -> converted {\n converted := convert_t_contract$_TGPassport_$2333_to_t_uint160(value)\n }\n\n function convert_t_contract$_TGPassport_$2333_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function convert_t_enum$_VotingType_$2425_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_VotingType_$2425(value)\n }\n\n function convert_t_int64_to_t_int256(value) -> converted {\n converted := cleanup_t_int64(value)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\n }\n\n function store_literal_in_memory_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9(memPtr) {\n\n mstore(add(memPtr, 0), \"User did not registred in TGP\")\n\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f(memPtr) {\n\n mstore(add(memPtr, 0), \"Unable to transfer fee\")\n\n }\n\n function store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d(memPtr) {\n\n mstore(add(memPtr, 0), \"Passport fee is not paid\")\n\n }\n\n function store_literal_in_memory_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c(memPtr) {\n\n mstore(add(memPtr, 0), \"this chat tgid already taken\")\n\n }\n\n function store_literal_in_memory_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24(memPtr) {\n\n mstore(add(memPtr, 0), \"Contract does not match with cor\")\n\n mstore(add(memPtr, 32), \"responding type\")\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\n }\n\n function store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\n }\n\n function store_literal_in_memory_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6(memPtr) {\n\n mstore(add(memPtr, 0), \"already has been approved OR did\")\n\n mstore(add(memPtr, 32), \"n't applied at all\")\n\n }\n\n function store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\n }\n\n function store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: can only renounce\")\n\n mstore(add(memPtr, 32), \" roles for self\")\n\n }\n\n function validator_assert_t_enum$_VotingType_$2425(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_enum$_VotingType_$2425(value) {\n if iszero(lt(value, 3)) { revert(0, 0) }\n }\n\n function validator_revert_t_int64(value) {\n if iszero(eq(value, cleanup_t_int64(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "60806040526004361061011f5760003560e01c8063a217fddf116100a0578063d547741f11610064578063d547741f146103cc578063d698b364146103f5578063d6b2da8e14610432578063e57bede41461046f578063f2fde38b146104ac5761011f565b8063a217fddf146102ee578063ad8f866014610319578063b9f7076f14610342578063c25f3cf61461035e578063d4d8f892146103a15761011f565b806338743904116100e75780633874390414610219578063715018a6146102445780637527d5a11461025b5780638da5cb5b1461028657806391d14854146102b15761011f565b806301ffc9a714610124578063248a9ca3146101615780632f2ff15d1461019e57806336568abe146101c757806336b9f727146101f0575b600080fd5b34801561013057600080fd5b5061014b60048036038101906101469190612a47565b6104d5565b6040516101589190612f4d565b60405180910390f35b34801561016d57600080fd5b50610188600480360381019061018391906129e2565b61054f565b6040516101959190612f68565b60405180910390f35b3480156101aa57600080fd5b506101c560048036038101906101c09190612a0b565b61056f565b005b3480156101d357600080fd5b506101ee60048036038101906101e99190612a0b565b610598565b005b3480156101fc57600080fd5b5061021760048036038101906102129190612967565b61061b565b005b34801561022557600080fd5b5061022e610b24565b60405161023b9190612f68565b60405180910390f35b34801561025057600080fd5b50610259610b48565b005b34801561026757600080fd5b50610270610bd0565b60405161027d9190612f9e565b60405180910390f35b34801561029257600080fd5b5061029b610bf6565b6040516102a89190612ebc565b60405180910390f35b3480156102bd57600080fd5b506102d860048036038101906102d39190612a0b565b610c1f565b6040516102e59190612f4d565b60405180910390f35b3480156102fa57600080fd5b50610303610c8a565b6040516103109190612f68565b60405180910390f35b34801561032557600080fd5b50610340600480360381019061033b9190612967565b610c91565b005b61035c60048036038101906103579190612a99565b6112a5565b005b34801561036a57600080fd5b5061038560048036038101906103809190612967565b6119ef565b6040516103989796959493929190612ed7565b60405180910390f35b3480156103ad57600080fd5b506103b6611b40565b6040516103c39190613252565b60405180910390f35b3480156103d857600080fd5b506103f360048036038101906103ee9190612a0b565b611b51565b005b34801561040157600080fd5b5061041c60048036038101906104179190612b3a565b611b7a565b6040516104299190612fb9565b60405180910390f35b34801561043e57600080fd5b5061045960048036038101906104549190612a70565b611bb1565b6040516104669190612ebc565b60405180910390f35b34801561047b57600080fd5b5061049660048036038101906104919190612a70565b611be4565b6040516104a39190612ebc565b60405180910390f35b3480156104b857600080fd5b506104d360048036038101906104ce9190612967565b611c2c565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19161480610548575061054782612150565b5b9050919050565b600060016000838152602001908152602001600020600101549050919050565b6105788261054f565b610589816105846121ba565b6121c2565b610593838361225f565b505050565b6105a06121ba565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461060d576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161060490613232565b60405180910390fd5b610617828261233f565b5050565b6106236121ba565b73ffffffffffffffffffffffffffffffffffffffff16610641610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610697576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161068e906131f2565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610812577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b600281111561084a577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820180546108b490613504565b80601f01602080910402602001604051908101604052809291908181526020018280546108e090613504565b801561092d5780601f106109025761010080835404028352916020019161092d565b820191906000526020600020905b81548152906001019060200180831161091057829003601f168201915b5050505050815250509050600015158160400151151514610983576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161097a90613212565b60405180910390fd5b600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160146101000a81549060ff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610a8b919061274a565b505060046000826020015160070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fd06e11c55c5f21676305517c655a0188744d3bee09361e15470276872d56a0b98160200151826060015183608001518460a001518560c00151604051610b18959493929190612fd4565b60405180910390a15050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e15781565b610b506121ba565b73ffffffffffffffffffffffffffffffffffffffff16610b6e610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610bc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bbb906131f2565b60405180910390fd5b610bce6000612421565b565b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b610c996121ba565b73ffffffffffffffffffffffffffffffffffffffff16610cb7610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614610d0d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d04906131f2565b60405180910390fd5b6000600760008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610e88577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610ec0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610f2a90613504565b80601f0160208091040260200160405190810160405280929190818152602001828054610f5690613504565b8015610fa35780601f10610f7857610100808354040283529160200191610fa3565b820191906000526020600020905b815481529060010190602001808311610f8657829003601f168201915b5050505050815250509050600015158160400151151514610ff9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ff090613212565b60405180910390fd5b600181604001901515908115158152505080600760008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff0219169083600281111561117b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906111e392919061278a565b509050506111f160066124e5565b6005816020015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055507f19c3744c2d10eda4d05b727f02a712a414539c26678f5f988d98f9635afcac288160200151826060015183608001518460a001518560c00151604051611299959493929190612fd4565b60405180910390a15050565b6000600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c2fc6e3886040518263ffffffff1660e01b81526004016113029190612fb9565b60206040518083038186803b15801561131a57600080fd5b505afa15801561132e573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906113529190612990565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16146113c2576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016113b990613132565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600460008860070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461146a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611461906131b2565b60405180910390fd5b84600460008860070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006114ce85856124fb565b90506001151581151514611517576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161150e906131d2565b60405180910390fd5b600960009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166348dc15616040518163ffffffff1660e01b815260040160206040518083038186803b15801561157f57600080fd5b505afa158015611593573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906115b79190612b63565b6002819055506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018860070b81526020016000151581526020018773ffffffffffffffffffffffffffffffffffffffff16815260200186600281111561164b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815250600760008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff021916908360028111156117e0577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c082015181600301908051906020019061184892919061278a565b509050506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660025460405161189690612e6d565b60006040518083038185875af1925050503d80600081146118d3576040519150601f19603f3d011682016040523d82523d6000602084013e6118d8565b606091505b505090508061191c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161191390613172565b60405180910390fd5b6002543414611960576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161195790613192565b60405180910390fd5b7f0ae33dac4eb1cdcaf489d2a9a56c45d17257612cad7c531513d4e425951349e2888a8989898960405161199996959493929190613088565b60405180910390a18760070b7fefcac77603ca996faafa29a1d72a90249e186f4a4af6ad89434b18a66b6e9cd98a898989896040516119dc95949392919061302e565b60405180910390a2505050505050505050565b60076020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003018054611abd90613504565b80601f0160208091040260200160405190810160405280929190818152602001828054611ae990613504565b8015611b365780601f10611b0b57610100808354040283529160200191611b36565b820191906000526020600020905b815481529060010190602001808311611b1957829003601f168201915b5050505050905087565b6000611b4c6006612713565b905090565b611b5a8261054f565b611b6b81611b666121ba565b6121c2565b611b75838361233f565b505050565b60058181548110611b8a57600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b60046020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600460008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080915050919050565b611c346121ba565b73ffffffffffffffffffffffffffffffffffffffff16611c52610bf6565b73ffffffffffffffffffffffffffffffffffffffff1614611ca8576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c9f906131f2565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611d18576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611d0f90613152565b60405180910390fd5b611d2181612421565b50565b611dba81604051602401611d389190612f68565b6040516020818303038152906040527f27b7cf85000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612721565b50565b611e5381604051602401611dd19190612f4d565b6040516020818303038152906040527f32458eed000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff19166020820180517bffffffffffffffffffffffffffffffffffffffffffffffffffffffff8381831617835250505050612721565b50565b606060006002836002611e69919061334b565b611e7391906132f5565b67ffffffffffffffff811115611eb2577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f191660200182016040528015611ee45781602001600182028036833780820191505090505b5090507f300000000000000000000000000000000000000000000000000000000000000081600081518110611f42577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110611fcc577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261200c919061334b565b61201691906132f5565b90505b6001811115612102577f3031323334353637383961626364656600000000000000000000000000000000600f86166010811061207e577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b8282815181106120bb577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806120fb906134da565b9050612019565b5060008414612146576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161213d90613112565b60405180910390fd5b8091505092915050565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b6121cc8282610c1f565b61225b576121f18173ffffffffffffffffffffffffffffffffffffffff166014611e56565b6121ff8360001c6020611e56565b604051602001612210929190612e82565b6040516020818303038152906040526040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161225291906130f0565b60405180910390fd5b5050565b6122698282610c1f565b61233b57600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506122e06121ba565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b6123498282610c1f565b1561241d5760006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff0219169083151502179055506123c26121ba565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b6000600280811115612536577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561256f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b141561260c578173ffffffffffffffffffffffffffffffffffffffff166301ffc9a763780e9d6360e01b6040518263ffffffff1660e01b81526004016125b59190612f83565b60206040518083038186803b1580156125cd57600080fd5b505afa1580156125e1573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061260591906129b9565b905061270d565b60006002811115612646577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561267f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b141561270c5760128273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b1580156126cd57600080fd5b505afa1580156126e1573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906127059190612b8c565b60ff161490505b5b92915050565b600081600001549050919050565b60008151905060006a636f6e736f6c652e6c6f679050602083016000808483855afa5050505050565b50805461275690613504565b6000825580601f106127685750612787565b601f0160209004906000526020600020908101906127869190612810565b5b50565b82805461279690613504565b90600052602060002090601f0160209004810192826127b857600085556127ff565b82601f106127d157805160ff19168380011785556127ff565b828001600101855582156127ff579182015b828111156127fe5782518255916020019190600101906127e3565b5b50905061280c9190612810565b5090565b5b80821115612829576000816000905550600101612811565b5090565b600061284061283b84613292565b61326d565b90508281526020810184848401111561285857600080fd5b612863848285613498565b509392505050565b60008135905061287a816138cf565b92915050565b60008151905061288f816138cf565b92915050565b6000815190506128a4816138e6565b92915050565b6000813590506128b9816138fd565b92915050565b6000813590506128ce81613914565b92915050565b6000813590506128e38161392b565b92915050565b6000813590506128f88161393b565b92915050565b600082601f83011261290f57600080fd5b813561291f84826020860161282d565b91505092915050565b60008135905061293781613952565b92915050565b60008151905061294c81613952565b92915050565b60008151905061296181613969565b92915050565b60006020828403121561297957600080fd5b60006129878482850161286b565b91505092915050565b6000602082840312156129a257600080fd5b60006129b084828501612880565b91505092915050565b6000602082840312156129cb57600080fd5b60006129d984828501612895565b91505092915050565b6000602082840312156129f457600080fd5b6000612a02848285016128aa565b91505092915050565b60008060408385031215612a1e57600080fd5b6000612a2c858286016128aa565b9250506020612a3d8582860161286b565b9150509250929050565b600060208284031215612a5957600080fd5b6000612a67848285016128bf565b91505092915050565b600060208284031215612a8257600080fd5b6000612a90848285016128e9565b91505092915050565b60008060008060008060c08789031215612ab257600080fd5b6000612ac089828a016128e9565b9650506020612ad189828a016128e9565b9550506040612ae289828a0161286b565b9450506060612af389828a016128d4565b9350506080612b0489828a0161286b565b92505060a087013567ffffffffffffffff811115612b2157600080fd5b612b2d89828a016128fe565b9150509295509295509295565b600060208284031215612b4c57600080fd5b6000612b5a84828501612928565b91505092915050565b600060208284031215612b7557600080fd5b6000612b838482850161293d565b91505092915050565b600060208284031215612b9e57600080fd5b6000612bac84828501612952565b91505092915050565b612bbe816133a5565b82525050565b612bcd816133b7565b82525050565b612bdc816133c3565b82525050565b612beb816133cd565b82525050565b612bfa81613450565b82525050565b612c0981613474565b82525050565b612c1881613486565b82525050565b612c278161340c565b82525050565b6000612c38826132c3565b612c4281856132d9565b9350612c528185602086016134a7565b612c5b81613623565b840191505092915050565b6000612c71826132c3565b612c7b81856132ea565b9350612c8b8185602086016134a7565b80840191505092915050565b6000612ca46020836132d9565b9150612caf82613634565b602082019050919050565b6000612cc7601d836132d9565b9150612cd28261365d565b602082019050919050565b6000612cea6026836132d9565b9150612cf582613686565b604082019050919050565b6000612d0d6016836132d9565b9150612d18826136d5565b602082019050919050565b6000612d306018836132d9565b9150612d3b826136fe565b602082019050919050565b6000612d53601c836132d9565b9150612d5e82613727565b602082019050919050565b6000612d76602f836132d9565b9150612d8182613750565b604082019050919050565b6000612d996020836132d9565b9150612da48261379f565b602082019050919050565b6000612dbc6000836132ce565b9150612dc7826137c8565b600082019050919050565b6000612ddf6017836132ea565b9150612dea826137cb565b601782019050919050565b6000612e026032836132d9565b9150612e0d826137f4565b604082019050919050565b6000612e256011836132ea565b9150612e3082613843565b601182019050919050565b6000612e48602f836132d9565b9150612e538261386c565b604082019050919050565b612e6781613439565b82525050565b6000612e7882612daf565b9150819050919050565b6000612e8d82612dd2565b9150612e998285612c66565b9150612ea482612e18565b9150612eb08284612c66565b91508190509392505050565b6000602082019050612ed16000830184612bb5565b92915050565b600060e082019050612eec600083018a612bb5565b612ef96020830189612c1e565b612f066040830188612bc4565b612f136060830187612bb5565b612f206080830186612c00565b612f2d60a0830185612bb5565b81810360c0830152612f3f8184612c2d565b905098975050505050505050565b6000602082019050612f626000830184612bc4565b92915050565b6000602082019050612f7d6000830184612bd3565b92915050565b6000602082019050612f986000830184612be2565b92915050565b6000602082019050612fb36000830184612bf1565b92915050565b6000602082019050612fce6000830184612c1e565b92915050565b600060a082019050612fe96000830188612c0f565b612ff66020830187612bb5565b6130036040830186612c00565b6130106060830185612bb5565b81810360808301526130228184612c2d565b90509695505050505050565b600060a0820190506130436000830188612c1e565b6130506020830187612bb5565b61305d6040830186612c00565b61306a6060830185612bb5565b818103608083015261307c8184612c2d565b90509695505050505050565b600060c08201905061309d6000830189612c1e565b6130aa6020830188612c1e565b6130b76040830187612bb5565b6130c46060830186612c00565b6130d16080830185612bb5565b81810360a08301526130e38184612c2d565b9050979650505050505050565b6000602082019050818103600083015261310a8184612c2d565b905092915050565b6000602082019050818103600083015261312b81612c97565b9050919050565b6000602082019050818103600083015261314b81612cba565b9050919050565b6000602082019050818103600083015261316b81612cdd565b9050919050565b6000602082019050818103600083015261318b81612d00565b9050919050565b600060208201905081810360008301526131ab81612d23565b9050919050565b600060208201905081810360008301526131cb81612d46565b9050919050565b600060208201905081810360008301526131eb81612d69565b9050919050565b6000602082019050818103600083015261320b81612d8c565b9050919050565b6000602082019050818103600083015261322b81612df5565b9050919050565b6000602082019050818103600083015261324b81612e3b565b9050919050565b60006020820190506132676000830184612e5e565b92915050565b6000613277613288565b90506132838282613536565b919050565b6000604051905090565b600067ffffffffffffffff8211156132ad576132ac6135f4565b5b6132b682613623565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b600061330082613439565b915061330b83613439565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156133405761333f613567565b5b828201905092915050565b600061335682613439565b915061336183613439565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561339a57613399613567565b5b828202905092915050565b60006133b082613419565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b6000819050613407826138bb565b919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061345b82613462565b9050919050565b600061346d82613419565b9050919050565b600061347f826133f9565b9050919050565b60006134918261340c565b9050919050565b82818337600083830152505050565b60005b838110156134c55780820151818401526020810190506134aa565b838111156134d4576000848401525b50505050565b60006134e582613439565b915060008214156134f9576134f8613567565b5b600182039050919050565b6000600282049050600182168061351c57607f821691505b602082108114156135305761352f6135c5565b5b50919050565b61353f82613623565b810181811067ffffffffffffffff8211171561355e5761355d6135f4565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f5573657220646964206e6f742072656769737472656420696e20544750000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f746869732063686174207467696420616c72656164792074616b656e00000000600082015250565b7f436f6e747261637420646f6573206e6f74206d61746368207769746820636f7260008201527f726573706f6e64696e6720747970650000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f616c726561647920686173206265656e20617070726f766564204f522064696460008201527f6e2774206170706c69656420617420616c6c0000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b600381106138cc576138cb613596565b5b50565b6138d8816133a5565b81146138e357600080fd5b50565b6138ef816133b7565b81146138fa57600080fd5b50565b613906816133c3565b811461391157600080fd5b50565b61391d816133cd565b811461392857600080fd5b50565b6003811061393857600080fd5b50565b6139448161340c565b811461394f57600080fd5b50565b61395b81613439565b811461396657600080fd5b50565b61397281613443565b811461397d57600080fd5b5056fea264697066735822122066eeeb4e261e7e76576a5b46018c23cb87b4e864504423cd22be09ca71eae19c64736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x11F JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0xA217FDDF GT PUSH2 0xA0 JUMPI DUP1 PUSH4 0xD547741F GT PUSH2 0x64 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0xD698B364 EQ PUSH2 0x3F5 JUMPI DUP1 PUSH4 0xD6B2DA8E EQ PUSH2 0x432 JUMPI DUP1 PUSH4 0xE57BEDE4 EQ PUSH2 0x46F JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4AC JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x2EE JUMPI DUP1 PUSH4 0xAD8F8660 EQ PUSH2 0x319 JUMPI DUP1 PUSH4 0xB9F7076F EQ PUSH2 0x342 JUMPI DUP1 PUSH4 0xC25F3CF6 EQ PUSH2 0x35E JUMPI DUP1 PUSH4 0xD4D8F892 EQ PUSH2 0x3A1 JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0x38743904 GT PUSH2 0xE7 JUMPI DUP1 PUSH4 0x38743904 EQ PUSH2 0x219 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x244 JUMPI DUP1 PUSH4 0x7527D5A1 EQ PUSH2 0x25B JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x286 JUMPI DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2B1 JUMPI PUSH2 0x11F JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x124 JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x161 JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x19E JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x1C7 JUMPI DUP1 PUSH4 0x36B9F727 EQ PUSH2 0x1F0 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x130 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x14B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x146 SWAP2 SWAP1 PUSH2 0x2A47 JUMP JUMPDEST PUSH2 0x4D5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x158 SWAP2 SWAP1 PUSH2 0x2F4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x16D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x188 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x183 SWAP2 SWAP1 PUSH2 0x29E2 JUMP JUMPDEST PUSH2 0x54F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x195 SWAP2 SWAP1 PUSH2 0x2F68 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1AA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1C5 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C0 SWAP2 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH2 0x56F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1D3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1EE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1E9 SWAP2 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH2 0x598 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1FC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x217 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x212 SWAP2 SWAP1 PUSH2 0x2967 JUMP JUMPDEST PUSH2 0x61B JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x225 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x22E PUSH2 0xB24 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x23B SWAP2 SWAP1 PUSH2 0x2F68 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x250 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x259 PUSH2 0xB48 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x267 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x270 PUSH2 0xBD0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27D SWAP2 SWAP1 PUSH2 0x2F9E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x292 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x29B PUSH2 0xBF6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A8 SWAP2 SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D3 SWAP2 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH2 0xC1F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E5 SWAP2 SWAP1 PUSH2 0x2F4D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x303 PUSH2 0xC8A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x310 SWAP2 SWAP1 PUSH2 0x2F68 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x325 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x340 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x33B SWAP2 SWAP1 PUSH2 0x2967 JUMP JUMPDEST PUSH2 0xC91 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x35C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x357 SWAP2 SWAP1 PUSH2 0x2A99 JUMP JUMPDEST PUSH2 0x12A5 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x36A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x385 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x380 SWAP2 SWAP1 PUSH2 0x2967 JUMP JUMPDEST PUSH2 0x19EF JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x398 SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2ED7 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B6 PUSH2 0x1B40 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C3 SWAP2 SWAP1 PUSH2 0x3252 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EE SWAP2 SWAP1 PUSH2 0x2A0B JUMP JUMPDEST PUSH2 0x1B51 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x401 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x41C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x417 SWAP2 SWAP1 PUSH2 0x2B3A JUMP JUMPDEST PUSH2 0x1B7A JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x429 SWAP2 SWAP1 PUSH2 0x2FB9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x43E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x459 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x454 SWAP2 SWAP1 PUSH2 0x2A70 JUMP JUMPDEST PUSH2 0x1BB1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x466 SWAP2 SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x47B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x496 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x491 SWAP2 SWAP1 PUSH2 0x2A70 JUMP JUMPDEST PUSH2 0x1BE4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4A3 SWAP2 SWAP1 PUSH2 0x2EBC JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4CE SWAP2 SWAP1 PUSH2 0x2967 JUMP JUMPDEST PUSH2 0x1C2C JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x548 JUMPI POP PUSH2 0x547 DUP3 PUSH2 0x2150 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x578 DUP3 PUSH2 0x54F JUMP JUMPDEST PUSH2 0x589 DUP2 PUSH2 0x584 PUSH2 0x21BA JUMP JUMPDEST PUSH2 0x21C2 JUMP JUMPDEST PUSH2 0x593 DUP4 DUP4 PUSH2 0x225F JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x5A0 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x60D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x604 SWAP1 PUSH2 0x3232 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x617 DUP3 DUP3 PUSH2 0x233F JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x623 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x641 PUSH2 0xBF6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x697 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x68E SWAP1 PUSH2 0x31F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x812 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x84A JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x8B4 SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8E0 SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x92D JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x902 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x92D JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x910 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x40 ADD MLOAD ISZERO ISZERO EQ PUSH2 0x983 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x97A SWAP1 PUSH2 0x3212 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 PUSH2 0xA8B SWAP2 SWAP1 PUSH2 0x274A JUMP JUMPDEST POP POP PUSH1 0x4 PUSH1 0x0 DUP3 PUSH1 0x20 ADD MLOAD PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0xD06E11C55C5F21676305517C655A0188744D3BEE09361E15470276872D56A0B9 DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x60 ADD MLOAD DUP4 PUSH1 0x80 ADD MLOAD DUP5 PUSH1 0xA0 ADD MLOAD DUP6 PUSH1 0xC0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xB18 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2FD4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 DUP2 JUMP JUMPDEST PUSH2 0xB50 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xB6E PUSH2 0xBF6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBC4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBBB SWAP1 PUSH2 0x31F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBCE PUSH1 0x0 PUSH2 0x2421 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x9 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SHL DUP2 JUMP JUMPDEST PUSH2 0xC99 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xCB7 PUSH2 0xBF6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD0D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD04 SWAP1 PUSH2 0x31F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x7 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xE88 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xEC0 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0xF2A SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xF56 SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xFA3 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF78 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xFA3 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xF86 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x40 ADD MLOAD ISZERO ISZERO EQ PUSH2 0xFF9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFF0 SWAP1 PUSH2 0x3212 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x40 ADD SWAP1 ISZERO ISZERO SWAP1 DUP2 ISZERO ISZERO DUP2 MSTORE POP POP DUP1 PUSH1 0x7 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x117B JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x11E3 SWAP3 SWAP2 SWAP1 PUSH2 0x278A JUMP JUMPDEST POP SWAP1 POP POP PUSH2 0x11F1 PUSH1 0x6 PUSH2 0x24E5 JUMP JUMPDEST PUSH1 0x5 DUP2 PUSH1 0x20 ADD MLOAD SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x19C3744C2D10EDA4D05B727F02A712A414539C26678F5F988D98F9635AFCAC28 DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x60 ADD MLOAD DUP4 PUSH1 0x80 ADD MLOAD DUP5 PUSH1 0xA0 ADD MLOAD DUP6 PUSH1 0xC0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x1299 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2FD4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x9 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC2FC6E3 DUP9 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1302 SWAP2 SWAP1 PUSH2 0x2FB9 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x131A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x132E JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1352 SWAP2 SWAP1 PUSH2 0x2990 JUMP JUMPDEST SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x13C2 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x13B9 SWAP1 PUSH2 0x3132 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x4 PUSH1 0x0 DUP9 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x146A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1461 SWAP1 PUSH2 0x31B2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH1 0x4 PUSH1 0x0 DUP9 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x14CE DUP6 DUP6 PUSH2 0x24FB JUMP JUMPDEST SWAP1 POP PUSH1 0x1 ISZERO ISZERO DUP2 ISZERO ISZERO EQ PUSH2 0x1517 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x150E SWAP1 PUSH2 0x31D2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x9 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x48DC1561 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x157F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x1593 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x15B7 SWAP2 SWAP1 PUSH2 0x2B63 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP9 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x164B JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP PUSH1 0x7 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x17E0 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1848 SWAP3 SWAP2 SWAP1 PUSH2 0x278A JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH2 0x1896 SWAP1 PUSH2 0x2E6D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x18D3 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x18D8 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x191C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1913 SWAP1 PUSH2 0x3172 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD CALLVALUE EQ PUSH2 0x1960 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1957 SWAP1 PUSH2 0x3192 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0xAE33DAC4EB1CDCAF489D2A9A56C45D17257612CAD7C531513D4E425951349E2 DUP9 DUP11 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x1999 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x3088 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP8 PUSH1 0x7 SIGNEXTEND PUSH32 0xEFCAC77603CA996FAAFA29A1D72A90249E186F4A4AF6AD89434B18A66B6E9CD9 DUP11 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x19DC SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x302E JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x1ABD SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1AE9 SWAP1 PUSH2 0x3504 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B36 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B0B JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B36 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B19 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B4C PUSH1 0x6 PUSH2 0x2713 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1B5A DUP3 PUSH2 0x54F JUMP JUMPDEST PUSH2 0x1B6B DUP2 PUSH2 0x1B66 PUSH2 0x21BA JUMP JUMPDEST PUSH2 0x21C2 JUMP JUMPDEST PUSH2 0x1B75 DUP4 DUP4 PUSH2 0x233F JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x5 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1B8A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND DUP2 JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C34 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1C52 PUSH2 0xBF6 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1CA8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C9F SWAP1 PUSH2 0x31F2 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1D18 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1D0F SWAP1 PUSH2 0x3152 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1D21 DUP2 PUSH2 0x2421 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x1DBA DUP2 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1D38 SWAP2 SWAP1 PUSH2 0x2F68 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x27B7CF8500000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH2 0x2721 JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x1E53 DUP2 PUSH1 0x40 MLOAD PUSH1 0x24 ADD PUSH2 0x1DD1 SWAP2 SWAP1 PUSH2 0x2F4D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH32 0x32458EED00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND PUSH1 0x20 DUP3 ADD DUP1 MLOAD PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP4 DUP2 DUP4 AND OR DUP4 MSTORE POP POP POP POP PUSH2 0x2721 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x2 PUSH2 0x1E69 SWAP2 SWAP1 PUSH2 0x334B JUMP JUMPDEST PUSH2 0x1E73 SWAP2 SWAP1 PUSH2 0x32F5 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x1EB2 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x1EE4 JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x1F42 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x1FCC JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 DUP5 PUSH1 0x2 PUSH2 0x200C SWAP2 SWAP1 PUSH2 0x334B JUMP JUMPDEST PUSH2 0x2016 SWAP2 SWAP1 PUSH2 0x32F5 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x2102 JUMPI PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xF DUP7 AND PUSH1 0x10 DUP2 LT PUSH2 0x207E JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x20BB JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 DUP6 SWAP1 SHR SWAP5 POP DUP1 PUSH2 0x20FB SWAP1 PUSH2 0x34DA JUMP JUMPDEST SWAP1 POP PUSH2 0x2019 JUMP JUMPDEST POP PUSH1 0x0 DUP5 EQ PUSH2 0x2146 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x213D SWAP1 PUSH2 0x3112 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x21CC DUP3 DUP3 PUSH2 0xC1F JUMP JUMPDEST PUSH2 0x225B JUMPI PUSH2 0x21F1 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x14 PUSH2 0x1E56 JUMP JUMPDEST PUSH2 0x21FF DUP4 PUSH1 0x0 SHR PUSH1 0x20 PUSH2 0x1E56 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x2210 SWAP3 SWAP2 SWAP1 PUSH2 0x2E82 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2252 SWAP2 SWAP1 PUSH2 0x30F0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x2269 DUP3 DUP3 PUSH2 0xC1F JUMP JUMPDEST PUSH2 0x233B JUMPI PUSH1 0x1 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x22E0 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x2349 DUP3 DUP3 PUSH2 0xC1F JUMP JUMPDEST ISZERO PUSH2 0x241D JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x23C2 PUSH2 0x21BA JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP1 DUP2 GT ISZERO PUSH2 0x2536 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x256F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x260C JUMPI DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x1FFC9A7 PUSH4 0x780E9D63 PUSH1 0xE0 SHL PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x25B5 SWAP2 SWAP1 PUSH2 0x2F83 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x25CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x25E1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2605 SWAP2 SWAP1 PUSH2 0x29B9 JUMP JUMPDEST SWAP1 POP PUSH2 0x270D JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x2646 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x267F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x270C JUMPI PUSH1 0x12 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x313CE567 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x26CD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x26E1 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x2705 SWAP2 SWAP1 PUSH2 0x2B8C JUMP JUMPDEST PUSH1 0xFF AND EQ SWAP1 POP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH1 0x0 PUSH11 0x636F6E736F6C652E6C6F67 SWAP1 POP PUSH1 0x20 DUP4 ADD PUSH1 0x0 DUP1 DUP5 DUP4 DUP6 GAS STATICCALL POP POP POP POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x2756 SWAP1 PUSH2 0x3504 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x2768 JUMPI POP PUSH2 0x2787 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2786 SWAP2 SWAP1 PUSH2 0x2810 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2796 SWAP1 PUSH2 0x3504 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x27B8 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x27FF JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x27D1 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x27FF JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x27FF JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x27FE JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x27E3 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x280C SWAP2 SWAP1 PUSH2 0x2810 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x2829 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2811 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2840 PUSH2 0x283B DUP5 PUSH2 0x3292 JUMP JUMPDEST PUSH2 0x326D JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x2858 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2863 DUP5 DUP3 DUP6 PUSH2 0x3498 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x287A DUP2 PUSH2 0x38CF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x288F DUP2 PUSH2 0x38CF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x28A4 DUP2 PUSH2 0x38E6 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28B9 DUP2 PUSH2 0x38FD JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28CE DUP2 PUSH2 0x3914 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28E3 DUP2 PUSH2 0x392B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x28F8 DUP2 PUSH2 0x393B JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x290F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x291F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x282D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2937 DUP2 PUSH2 0x3952 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x294C DUP2 PUSH2 0x3952 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2961 DUP2 PUSH2 0x3969 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2979 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2987 DUP5 DUP3 DUP6 ADD PUSH2 0x286B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29A2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x29B0 DUP5 DUP3 DUP6 ADD PUSH2 0x2880 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29CB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x29D9 DUP5 DUP3 DUP6 ADD PUSH2 0x2895 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29F4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A02 DUP5 DUP3 DUP6 ADD PUSH2 0x28AA JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2A1E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A2C DUP6 DUP3 DUP7 ADD PUSH2 0x28AA JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x2A3D DUP6 DUP3 DUP7 ADD PUSH2 0x286B JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A59 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A67 DUP5 DUP3 DUP6 ADD PUSH2 0x28BF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A82 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A90 DUP5 DUP3 DUP6 ADD PUSH2 0x28E9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x2AB2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2AC0 DUP10 DUP3 DUP11 ADD PUSH2 0x28E9 JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x2AD1 DUP10 DUP3 DUP11 ADD PUSH2 0x28E9 JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH2 0x2AE2 DUP10 DUP3 DUP11 ADD PUSH2 0x286B JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH2 0x2AF3 DUP10 DUP3 DUP11 ADD PUSH2 0x28D4 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH2 0x2B04 DUP10 DUP3 DUP11 ADD PUSH2 0x286B JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2B21 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2B2D DUP10 DUP3 DUP11 ADD PUSH2 0x28FE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B4C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2B5A DUP5 DUP3 DUP6 ADD PUSH2 0x2928 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B75 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2B83 DUP5 DUP3 DUP6 ADD PUSH2 0x293D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2B9E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2BAC DUP5 DUP3 DUP6 ADD PUSH2 0x2952 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2BBE DUP2 PUSH2 0x33A5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2BCD DUP2 PUSH2 0x33B7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2BDC DUP2 PUSH2 0x33C3 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2BEB DUP2 PUSH2 0x33CD JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2BFA DUP2 PUSH2 0x3450 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2C09 DUP2 PUSH2 0x3474 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2C18 DUP2 PUSH2 0x3486 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2C27 DUP2 PUSH2 0x340C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C38 DUP3 PUSH2 0x32C3 JUMP JUMPDEST PUSH2 0x2C42 DUP2 DUP6 PUSH2 0x32D9 JUMP JUMPDEST SWAP4 POP PUSH2 0x2C52 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x34A7 JUMP JUMPDEST PUSH2 0x2C5B DUP2 PUSH2 0x3623 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C71 DUP3 PUSH2 0x32C3 JUMP JUMPDEST PUSH2 0x2C7B DUP2 DUP6 PUSH2 0x32EA JUMP JUMPDEST SWAP4 POP PUSH2 0x2C8B DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x34A7 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CA4 PUSH1 0x20 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2CAF DUP3 PUSH2 0x3634 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CC7 PUSH1 0x1D DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2CD2 DUP3 PUSH2 0x365D JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CEA PUSH1 0x26 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2CF5 DUP3 PUSH2 0x3686 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D0D PUSH1 0x16 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D18 DUP3 PUSH2 0x36D5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D30 PUSH1 0x18 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D3B DUP3 PUSH2 0x36FE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D53 PUSH1 0x1C DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D5E DUP3 PUSH2 0x3727 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D76 PUSH1 0x2F DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D81 DUP3 PUSH2 0x3750 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D99 PUSH1 0x20 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2DA4 DUP3 PUSH2 0x379F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DBC PUSH1 0x0 DUP4 PUSH2 0x32CE JUMP JUMPDEST SWAP2 POP PUSH2 0x2DC7 DUP3 PUSH2 0x37C8 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2DDF PUSH1 0x17 DUP4 PUSH2 0x32EA JUMP JUMPDEST SWAP2 POP PUSH2 0x2DEA DUP3 PUSH2 0x37CB JUMP JUMPDEST PUSH1 0x17 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E02 PUSH1 0x32 DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2E0D DUP3 PUSH2 0x37F4 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E25 PUSH1 0x11 DUP4 PUSH2 0x32EA JUMP JUMPDEST SWAP2 POP PUSH2 0x2E30 DUP3 PUSH2 0x3843 JUMP JUMPDEST PUSH1 0x11 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E48 PUSH1 0x2F DUP4 PUSH2 0x32D9 JUMP JUMPDEST SWAP2 POP PUSH2 0x2E53 DUP3 PUSH2 0x386C JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2E67 DUP2 PUSH2 0x3439 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E78 DUP3 PUSH2 0x2DAF JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2E8D DUP3 PUSH2 0x2DD2 JUMP JUMPDEST SWAP2 POP PUSH2 0x2E99 DUP3 DUP6 PUSH2 0x2C66 JUMP JUMPDEST SWAP2 POP PUSH2 0x2EA4 DUP3 PUSH2 0x2E18 JUMP JUMPDEST SWAP2 POP PUSH2 0x2EB0 DUP3 DUP5 PUSH2 0x2C66 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2ED1 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2BB5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP PUSH2 0x2EEC PUSH1 0x0 DUP4 ADD DUP11 PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x2EF9 PUSH1 0x20 DUP4 ADD DUP10 PUSH2 0x2C1E JUMP JUMPDEST PUSH2 0x2F06 PUSH1 0x40 DUP4 ADD DUP9 PUSH2 0x2BC4 JUMP JUMPDEST PUSH2 0x2F13 PUSH1 0x60 DUP4 ADD DUP8 PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x2F20 PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2C00 JUMP JUMPDEST PUSH2 0x2F2D PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x2BB5 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH2 0x2F3F DUP2 DUP5 PUSH2 0x2C2D JUMP JUMPDEST SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2F62 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2BC4 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2F7D PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2BD3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2F98 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2BE2 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FB3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2BF1 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FCE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2C1E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2FE9 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2C0F JUMP JUMPDEST PUSH2 0x2FF6 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x3003 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2C00 JUMP JUMPDEST PUSH2 0x3010 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2BB5 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x3022 DUP2 DUP5 PUSH2 0x2C2D JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x3043 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2C1E JUMP JUMPDEST PUSH2 0x3050 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x305D PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2C00 JUMP JUMPDEST PUSH2 0x306A PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2BB5 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x307C DUP2 DUP5 PUSH2 0x2C2D JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x309D PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x2C1E JUMP JUMPDEST PUSH2 0x30AA PUSH1 0x20 DUP4 ADD DUP9 PUSH2 0x2C1E JUMP JUMPDEST PUSH2 0x30B7 PUSH1 0x40 DUP4 ADD DUP8 PUSH2 0x2BB5 JUMP JUMPDEST PUSH2 0x30C4 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2C00 JUMP JUMPDEST PUSH2 0x30D1 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x2BB5 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xA0 DUP4 ADD MSTORE PUSH2 0x30E3 DUP2 DUP5 PUSH2 0x2C2D JUMP JUMPDEST SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x310A DUP2 DUP5 PUSH2 0x2C2D JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x312B DUP2 PUSH2 0x2C97 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x314B DUP2 PUSH2 0x2CBA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x316B DUP2 PUSH2 0x2CDD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x318B DUP2 PUSH2 0x2D00 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x31AB DUP2 PUSH2 0x2D23 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x31CB DUP2 PUSH2 0x2D46 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x31EB DUP2 PUSH2 0x2D69 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x320B DUP2 PUSH2 0x2D8C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x322B DUP2 PUSH2 0x2DF5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x324B DUP2 PUSH2 0x2E3B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x3267 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2E5E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3277 PUSH2 0x3288 JUMP JUMPDEST SWAP1 POP PUSH2 0x3283 DUP3 DUP3 PUSH2 0x3536 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x32AD JUMPI PUSH2 0x32AC PUSH2 0x35F4 JUMP JUMPDEST JUMPDEST PUSH2 0x32B6 DUP3 PUSH2 0x3623 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3300 DUP3 PUSH2 0x3439 JUMP JUMPDEST SWAP2 POP PUSH2 0x330B DUP4 PUSH2 0x3439 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x3340 JUMPI PUSH2 0x333F PUSH2 0x3567 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3356 DUP3 PUSH2 0x3439 JUMP JUMPDEST SWAP2 POP PUSH2 0x3361 DUP4 PUSH2 0x3439 JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x339A JUMPI PUSH2 0x3399 PUSH2 0x3567 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x33B0 DUP3 PUSH2 0x3419 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x3407 DUP3 PUSH2 0x38BB JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x7 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x345B DUP3 PUSH2 0x3462 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x346D DUP3 PUSH2 0x3419 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x347F DUP3 PUSH2 0x33F9 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3491 DUP3 PUSH2 0x340C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x34C5 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x34AA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x34D4 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x34E5 DUP3 PUSH2 0x3439 JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 EQ ISZERO PUSH2 0x34F9 JUMPI PUSH2 0x34F8 PUSH2 0x3567 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x351C JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x3530 JUMPI PUSH2 0x352F PUSH2 0x35C5 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x353F DUP3 PUSH2 0x3623 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x355E JUMPI PUSH2 0x355D PUSH2 0x35F4 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5573657220646964206E6F742072656769737472656420696E20544750000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E61626C6520746F207472616E736665722066656500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x50617373706F727420666565206973206E6F7420706169640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x746869732063686174207467696420616C72656164792074616B656E00000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436F6E747261637420646F6573206E6F74206D61746368207769746820636F72 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x726573706F6E64696E6720747970650000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x616C726561647920686173206265656E20617070726F766564204F5220646964 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E2774206170706C69656420617420616C6C0000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x206973206D697373696E6720726F6C6520000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x38CC JUMPI PUSH2 0x38CB PUSH2 0x3596 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0x38D8 DUP2 PUSH2 0x33A5 JUMP JUMPDEST DUP2 EQ PUSH2 0x38E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x38EF DUP2 PUSH2 0x33B7 JUMP JUMPDEST DUP2 EQ PUSH2 0x38FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3906 DUP2 PUSH2 0x33C3 JUMP JUMPDEST DUP2 EQ PUSH2 0x3911 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x391D DUP2 PUSH2 0x33CD JUMP JUMPDEST DUP2 EQ PUSH2 0x3928 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x3938 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3944 DUP2 PUSH2 0x340C JUMP JUMPDEST DUP2 EQ PUSH2 0x394F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x395B DUP2 PUSH2 0x3439 JUMP JUMPDEST DUP2 EQ PUSH2 0x3966 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3972 DUP2 PUSH2 0x3443 JUMP JUMPDEST DUP2 EQ PUSH2 0x397D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 PUSH7 0xEEEB4E261E7E76 JUMPI PUSH11 0x5B46018C23CB87B4E86450 DIFFICULTY 0x23 0xCD 0x22 0xBE MULMOD 0xCA PUSH18 0xEAE19C64736F6C6343000804003300000000 ", + "sourceMap": "1175:6247:14:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2620:202:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4008:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5404:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5973:431:14;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1410:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:2;;;;;;;;;;;;;:::i;:::-;;3131:28:14;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1036:85:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2909:145:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2027:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5414:416:14;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3876:1319;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3050:35;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;7328:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2923:28:14;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2870:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7175:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2620:202:0;2705:4;2743:32;2728:47;;;:11;:47;;;;:87;;;;2779:36;2803:11;2779:23;:36::i;:::-;2728:87;2721:94;;2620:202;;;:::o;4008:129::-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;4387:145::-;4470:18;4483:4;4470:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4500:25:::1;4511:4;4517:7;4500:10;:25::i;:::-;4387:145:::0;;;:::o;5404:214::-;5510:12;:10;:12::i;:::-;5499:23;;:7;:23;;;5491:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;5585:26;5597:4;5603:7;5585:11;:26::i;:::-;5404:214;;:::o;5973:431:14:-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;6041:14:14::1;6058:4;:16;6063:10;6058:16;;;;;;;;;;;;;;;6041:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;6105:5;6092:18;;:3;:9;;;:18;;;6084:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;6182:4;:16;6187:10;6182:16;;;;;;;;;;;;;;;;6175:23:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;6215:12;:22;6228:3;:8;;;6215:22;;;;;;;;;;;;;;;;6208:29;;;;;;;;;;;6301:96;6321:3;:8;;;6330:3;:19;;;6350:3;:14;;;6365:3;:15;;;6382:3;:14;;;6301:96;;;;;;;;;;:::i;:::-;;;;;;;;1318:1:2;5973:431:14::0;:::o;1410:58::-;1446:22;1410:58;:::o;1668:101:2:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;3131:28:14:-;;;;;;;;;;;;;:::o;1036:85:2:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;2027:49::-;2072:4;2027:49;;;:::o;5414:416:14:-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5480:14:14::1;5497:4;:16;5502:10;5497:16;;;;;;;;;;;;;;;5480:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;5542:5;5529:18;;:3;:9;;;:18;;;5521:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;5622:4;5610:3;:9;;:16;;;;;;;;;::::0;::::1;5653:3;5634:4;:16;5639:10;5634:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;5664:21;:9;:19;:21::i;:::-;5693:13;5712:3;:8;;;5693:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5734:89;5747:3;:8;;;5756:3;:19;;;5776:3;:14;;;5791:3;:15;;;5808:3;:14;;;5734:89;;;;;;;;;;:::i;:::-;;;;;;;;1318:1:2;5414:416:14::0;:::o;3876:1319::-;4213:16;4232:10;;;;;;;;;;;:32;;;4265:9;4232:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4213:62;;4305:10;4293:22;;:8;:22;;;4285:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4396:3;4365:35;;:12;:19;4378:5;4365:19;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;4357:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;4463:4;4441:12;:19;4454:5;4441:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;4481:18;4502:60;4528:11;4541:20;4502:25;:60::i;:::-;4481:81;;4595:4;4578:21;;:13;:21;;;4570:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;4674:10;;;;;;;;;;;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4659:12;:42;;;;4722:81;;;;;;;;4726:10;4722:81;;;;;;4738:5;4722:81;;;;;;4745:5;4722:81;;;;;;4752:4;4722:81;;;;;;4758:11;4722:81;;;;;;;;;;;;;;;;;;;;4771:20;4722:81;;;;;;4793:9;4722:81;;;4709:4;:10;4714:4;4709:10;;;;;;;;;;;;;;;:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;4812:12;4829:6;;;;;;;;;;;:11;;4848:12;;4829:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4811:54;;;4883:7;4875:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;4947:12;;4934:9;:25;4925:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;5001:84;5020:5;5026:9;5036:4;5041:11;5053:20;5075:9;5001:84;;;;;;;;;;;:::i;:::-;;;;;;;;5124:5;5098:91;;;5130:9;5140:4;5145:11;5157:20;5179:9;5098:91;;;;;;;;;;:::i;:::-;;;;;;;;3876:1319;;;;;;;;;:::o;3050:35::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7328:91::-;7372:7;7395:19;:9;:17;:19::i;:::-;7388:26;;7328:91;:::o;4766:147:0:-;4850:18;4863:4;4850:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4880:26:::1;4892:4;4898:7;4880:11;:26::i;:::-;4766:147:::0;;;:::o;2923:28:14:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;2870:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;7175:148::-;7242:7;7261:11;7275:12;:21;7288:7;7275:21;;;;;;;;;;;;;;;;;;;;;;;;;7261:35;;7313:3;7306:10;;;7175:148;;;:::o;1918:198:2:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;4833:114:16:-;4883:60;4939:2;4899:43;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4883:15;:60::i;:::-;4833:114;:::o;890:105::-;934:57;987:2;950:40;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;934:15;:57::i;:::-;890:105;:::o;1588:441:10:-;1663:13;1688:19;1733:1;1724:6;1720:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1710:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1688:47;;1745:15;:6;1752:1;1745:9;;;;;;;;;;;;;;;;;;;:15;;;;;;;;;;;1770;:6;1777:1;1770:9;;;;;;;;;;;;;;;;;;;:15;;;;;;;;;;;1800:9;1825:1;1816:6;1812:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1800:26;;1795:132;1832:1;1828;:5;1795:132;;;1866:12;1887:3;1879:5;:11;1866:25;;;;;;;;;;;;;;;;;;1854:6;1861:1;1854:9;;;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;1915:1;1905:11;;;;;1835:3;;;;:::i;:::-;;;1795:132;;;;1953:1;1944:5;:10;1936:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2015:6;2001:21;;;1588:441;;;;:::o;829:155:11:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;640:96:8:-;693:7;719:10;712:17;;640:96;:::o;3335:492:0:-;3423:22;3431:4;3437:7;3423;:22::i;:::-;3418:403;;3606:41;3634:7;3606:41;;3644:2;3606:19;:41::i;:::-;3718:38;3746:4;3738:13;;3753:2;3718:19;:38::i;:::-;3513:265;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3461:349;;;;;;;;;;;:::i;:::-;;;;;;;;3418:403;3335:492;;:::o;6861:233::-;6944:22;6952:4;6958:7;6944;:22::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;:12::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;7219:234::-;7302:22;7310:4;7316:7;7302;:22::i;:::-;7298:149;;;7372:5;7340:6;:12;7347:4;7340:12;;;;;;;;;;;:20;;:29;7361:7;7340:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;7423:12;:10;:12::i;:::-;7396:40;;7414:7;7396:40;;7408:4;7396:40;;;;;;;;;;7298:149;7219:234;;:::o;2270:187:2:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2270:187;;:::o;945:123:9:-;1050:1;1032:7;:14;;;:19;;;;;;;;;;;945:123;:::o;6505:605:14:-;6618:12;6659:17;6644:32;;;;;;;;;;;;;;;;:11;:32;;;;;;;;;;;;;;;;;6640:194;;;6716:20;6698:68;;;1393:10;6767:31;;6698:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6686:113;;6811:14;;6640:194;6860:16;6845:31;;;;;;;;;;;;;;;;:11;:31;;;;;;;;;;;;;;;;;6841:224;;;7054:2;7018:20;7003:45;;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;;6991:65;;6841:224;6505:605;;;;;:::o;827:112:9:-;892:7;918;:14;;;911:21;;827:112;;;:::o;176:288:16:-;240:21;264:7;:14;240:38;;282:22;129:42;282:40;;373:2;364:7;360:16;455:1;452;437:13;423:12;407:14;400:5;389:68;335:126;;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:17:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;358:139::-;404:5;442:6;429:20;420:29;;458:33;485:5;458:33;:::i;:::-;410:87;;;;:::o;503:143::-;560:5;591:6;585:13;576:22;;607:33;634:5;607:33;:::i;:::-;566:80;;;;:::o;652:137::-;706:5;737:6;731:13;722:22;;753:30;777:5;753:30;:::i;:::-;712:77;;;;:::o;795:139::-;841:5;879:6;866:20;857:29;;895:33;922:5;895:33;:::i;:::-;847:87;;;;:::o;940:137::-;985:5;1023:6;1010:20;1001:29;;1039:32;1065:5;1039:32;:::i;:::-;991:86;;;;:::o;1083:169::-;1144:5;1182:6;1169:20;1160:29;;1198:48;1240:5;1198:48;:::i;:::-;1150:102;;;;:::o;1258:135::-;1302:5;1340:6;1327:20;1318:29;;1356:31;1381:5;1356:31;:::i;:::-;1308:85;;;;:::o;1413:273::-;1469:5;1518:3;1511:4;1503:6;1499:17;1495:27;1485:2;;1536:1;1533;1526:12;1485:2;1576:6;1563:20;1601:79;1676:3;1668:6;1661:4;1653:6;1649:17;1601:79;:::i;:::-;1592:88;;1475:211;;;;;:::o;1692:139::-;1738:5;1776:6;1763:20;1754:29;;1792:33;1819:5;1792:33;:::i;:::-;1744:87;;;;:::o;1837:143::-;1894:5;1925:6;1919:13;1910:22;;1941:33;1968:5;1941:33;:::i;:::-;1900:80;;;;:::o;1986:139::-;2041:5;2072:6;2066:13;2057:22;;2088:31;2113:5;2088:31;:::i;:::-;2047:78;;;;:::o;2131:262::-;2190:6;2239:2;2227:9;2218:7;2214:23;2210:32;2207:2;;;2255:1;2252;2245:12;2207:2;2298:1;2323:53;2368:7;2359:6;2348:9;2344:22;2323:53;:::i;:::-;2313:63;;2269:117;2197:196;;;;:::o;2399:284::-;2469:6;2518:2;2506:9;2497:7;2493:23;2489:32;2486:2;;;2534:1;2531;2524:12;2486:2;2577:1;2602:64;2658:7;2649:6;2638:9;2634:22;2602:64;:::i;:::-;2592:74;;2548:128;2476:207;;;;:::o;2689:278::-;2756:6;2805:2;2793:9;2784:7;2780:23;2776:32;2773:2;;;2821:1;2818;2811:12;2773:2;2864:1;2889:61;2942:7;2933:6;2922:9;2918:22;2889:61;:::i;:::-;2879:71;;2835:125;2763:204;;;;:::o;2973:262::-;3032:6;3081:2;3069:9;3060:7;3056:23;3052:32;3049:2;;;3097:1;3094;3087:12;3049:2;3140:1;3165:53;3210:7;3201:6;3190:9;3186:22;3165:53;:::i;:::-;3155:63;;3111:117;3039:196;;;;:::o;3241:407::-;3309:6;3317;3366:2;3354:9;3345:7;3341:23;3337:32;3334:2;;;3382:1;3379;3372:12;3334:2;3425:1;3450:53;3495:7;3486:6;3475:9;3471:22;3450:53;:::i;:::-;3440:63;;3396:117;3552:2;3578:53;3623:7;3614:6;3603:9;3599:22;3578:53;:::i;:::-;3568:63;;3523:118;3324:324;;;;;:::o;3654:260::-;3712:6;3761:2;3749:9;3740:7;3736:23;3732:32;3729:2;;;3777:1;3774;3767:12;3729:2;3820:1;3845:52;3889:7;3880:6;3869:9;3865:22;3845:52;:::i;:::-;3835:62;;3791:116;3719:195;;;;:::o;3920:258::-;3977:6;4026:2;4014:9;4005:7;4001:23;3997:32;3994:2;;;4042:1;4039;4032:12;3994:2;4085:1;4110:51;4153:7;4144:6;4133:9;4129:22;4110:51;:::i;:::-;4100:61;;4056:115;3984:194;;;;:::o;4184:1125::-;4309:6;4317;4325;4333;4341;4349;4398:3;4386:9;4377:7;4373:23;4369:33;4366:2;;;4415:1;4412;4405:12;4366:2;4458:1;4483:51;4526:7;4517:6;4506:9;4502:22;4483:51;:::i;:::-;4473:61;;4429:115;4583:2;4609:51;4652:7;4643:6;4632:9;4628:22;4609:51;:::i;:::-;4599:61;;4554:116;4709:2;4735:53;4780:7;4771:6;4760:9;4756:22;4735:53;:::i;:::-;4725:63;;4680:118;4837:2;4863:68;4923:7;4914:6;4903:9;4899:22;4863:68;:::i;:::-;4853:78;;4808:133;4980:3;5007:53;5052:7;5043:6;5032:9;5028:22;5007:53;:::i;:::-;4997:63;;4951:119;5137:3;5126:9;5122:19;5109:33;5169:18;5161:6;5158:30;5155:2;;;5201:1;5198;5191:12;5155:2;5229:63;5284:7;5275:6;5264:9;5260:22;5229:63;:::i;:::-;5219:73;;5080:222;4356:953;;;;;;;;:::o;5315:262::-;5374:6;5423:2;5411:9;5402:7;5398:23;5394:32;5391:2;;;5439:1;5436;5429:12;5391:2;5482:1;5507:53;5552:7;5543:6;5532:9;5528:22;5507:53;:::i;:::-;5497:63;;5453:117;5381:196;;;;:::o;5583:284::-;5653:6;5702:2;5690:9;5681:7;5677:23;5673:32;5670:2;;;5718:1;5715;5708:12;5670:2;5761:1;5786:64;5842:7;5833:6;5822:9;5818:22;5786:64;:::i;:::-;5776:74;;5732:128;5660:207;;;;:::o;5873:280::-;5941:6;5990:2;5978:9;5969:7;5965:23;5961:32;5958:2;;;6006:1;6003;5996:12;5958:2;6049:1;6074:62;6128:7;6119:6;6108:9;6104:22;6074:62;:::i;:::-;6064:72;;6020:126;5948:205;;;;:::o;6159:118::-;6246:24;6264:5;6246:24;:::i;:::-;6241:3;6234:37;6224:53;;:::o;6283:109::-;6364:21;6379:5;6364:21;:::i;:::-;6359:3;6352:34;6342:50;;:::o;6398:118::-;6485:24;6503:5;6485:24;:::i;:::-;6480:3;6473:37;6463:53;;:::o;6522:115::-;6607:23;6624:5;6607:23;:::i;:::-;6602:3;6595:36;6585:52;;:::o;6643:169::-;6749:56;6799:5;6749:56;:::i;:::-;6744:3;6737:69;6727:85;;:::o;6818:157::-;6918:50;6962:5;6918:50;:::i;:::-;6913:3;6906:63;6896:79;;:::o;6981:125::-;7065:34;7093:5;7065:34;:::i;:::-;7060:3;7053:47;7043:63;;:::o;7112:112::-;7195:22;7211:5;7195:22;:::i;:::-;7190:3;7183:35;7173:51;;:::o;7230:364::-;7318:3;7346:39;7379:5;7346:39;:::i;:::-;7401:71;7465:6;7460:3;7401:71;:::i;:::-;7394:78;;7481:52;7526:6;7521:3;7514:4;7507:5;7503:16;7481:52;:::i;:::-;7558:29;7580:6;7558:29;:::i;:::-;7553:3;7549:39;7542:46;;7322:272;;;;;:::o;7600:377::-;7706:3;7734:39;7767:5;7734:39;:::i;:::-;7789:89;7871:6;7866:3;7789:89;:::i;:::-;7782:96;;7887:52;7932:6;7927:3;7920:4;7913:5;7909:16;7887:52;:::i;:::-;7964:6;7959:3;7955:16;7948:23;;7710:267;;;;;:::o;7983:366::-;8125:3;8146:67;8210:2;8205:3;8146:67;:::i;:::-;8139:74;;8222:93;8311:3;8222:93;:::i;:::-;8340:2;8335:3;8331:12;8324:19;;8129:220;;;:::o;8355:366::-;8497:3;8518:67;8582:2;8577:3;8518:67;:::i;:::-;8511:74;;8594:93;8683:3;8594:93;:::i;:::-;8712:2;8707:3;8703:12;8696:19;;8501:220;;;:::o;8727:366::-;8869:3;8890:67;8954:2;8949:3;8890:67;:::i;:::-;8883:74;;8966:93;9055:3;8966:93;:::i;:::-;9084:2;9079:3;9075:12;9068:19;;8873:220;;;:::o;9099:366::-;9241:3;9262:67;9326:2;9321:3;9262:67;:::i;:::-;9255:74;;9338:93;9427:3;9338:93;:::i;:::-;9456:2;9451:3;9447:12;9440:19;;9245:220;;;:::o;9471:366::-;9613:3;9634:67;9698:2;9693:3;9634:67;:::i;:::-;9627:74;;9710:93;9799:3;9710:93;:::i;:::-;9828:2;9823:3;9819:12;9812:19;;9617:220;;;:::o;9843:366::-;9985:3;10006:67;10070:2;10065:3;10006:67;:::i;:::-;9999:74;;10082:93;10171:3;10082:93;:::i;:::-;10200:2;10195:3;10191:12;10184:19;;9989:220;;;:::o;10215:366::-;10357:3;10378:67;10442:2;10437:3;10378:67;:::i;:::-;10371:74;;10454:93;10543:3;10454:93;:::i;:::-;10572:2;10567:3;10563:12;10556:19;;10361:220;;;:::o;10587:366::-;10729:3;10750:67;10814:2;10809:3;10750:67;:::i;:::-;10743:74;;10826:93;10915:3;10826:93;:::i;:::-;10944:2;10939:3;10935:12;10928:19;;10733:220;;;:::o;10959:398::-;11118:3;11139:83;11220:1;11215:3;11139:83;:::i;:::-;11132:90;;11231:93;11320:3;11231:93;:::i;:::-;11349:1;11344:3;11340:11;11333:18;;11122:235;;;:::o;11363:402::-;11523:3;11544:85;11626:2;11621:3;11544:85;:::i;:::-;11537:92;;11638:93;11727:3;11638:93;:::i;:::-;11756:2;11751:3;11747:12;11740:19;;11527:238;;;:::o;11771:366::-;11913:3;11934:67;11998:2;11993:3;11934:67;:::i;:::-;11927:74;;12010:93;12099:3;12010:93;:::i;:::-;12128:2;12123:3;12119:12;12112:19;;11917:220;;;:::o;12143:402::-;12303:3;12324:85;12406:2;12401:3;12324:85;:::i;:::-;12317:92;;12418:93;12507:3;12418:93;:::i;:::-;12536:2;12531:3;12527:12;12520:19;;12307:238;;;:::o;12551:366::-;12693:3;12714:67;12778:2;12773:3;12714:67;:::i;:::-;12707:74;;12790:93;12879:3;12790:93;:::i;:::-;12908:2;12903:3;12899:12;12892:19;;12697:220;;;:::o;12923:118::-;13010:24;13028:5;13010:24;:::i;:::-;13005:3;12998:37;12988:53;;:::o;13047:379::-;13231:3;13253:147;13396:3;13253:147;:::i;:::-;13246:154;;13417:3;13410:10;;13235:191;;;:::o;13432:967::-;13814:3;13836:148;13980:3;13836:148;:::i;:::-;13829:155;;14001:95;14092:3;14083:6;14001:95;:::i;:::-;13994:102;;14113:148;14257:3;14113:148;:::i;:::-;14106:155;;14278:95;14369:3;14360:6;14278:95;:::i;:::-;14271:102;;14390:3;14383:10;;13818:581;;;;;:::o;14405:222::-;14498:4;14536:2;14525:9;14521:18;14513:26;;14549:71;14617:1;14606:9;14602:17;14593:6;14549:71;:::i;:::-;14503:124;;;;:::o;14633:983::-;14917:4;14955:3;14944:9;14940:19;14932:27;;14969:71;15037:1;15026:9;15022:17;15013:6;14969:71;:::i;:::-;15050:68;15114:2;15103:9;15099:18;15090:6;15050:68;:::i;:::-;15128:66;15190:2;15179:9;15175:18;15166:6;15128:66;:::i;:::-;15204:72;15272:2;15261:9;15257:18;15248:6;15204:72;:::i;:::-;15286:86;15367:3;15356:9;15352:19;15343:6;15286:86;:::i;:::-;15382:73;15450:3;15439:9;15435:19;15426:6;15382:73;:::i;:::-;15503:9;15497:4;15493:20;15487:3;15476:9;15472:19;15465:49;15531:78;15604:4;15595:6;15531:78;:::i;:::-;15523:86;;14922:694;;;;;;;;;;:::o;15622:210::-;15709:4;15747:2;15736:9;15732:18;15724:26;;15760:65;15822:1;15811:9;15807:17;15798:6;15760:65;:::i;:::-;15714:118;;;;:::o;15838:222::-;15931:4;15969:2;15958:9;15954:18;15946:26;;15982:71;16050:1;16039:9;16035:17;16026:6;15982:71;:::i;:::-;15936:124;;;;:::o;16066:218::-;16157:4;16195:2;16184:9;16180:18;16172:26;;16208:69;16274:1;16263:9;16259:17;16250:6;16208:69;:::i;:::-;16162:122;;;;:::o;16290:260::-;16402:4;16440:2;16429:9;16425:18;16417:26;;16453:90;16540:1;16529:9;16525:17;16516:6;16453:90;:::i;:::-;16407:143;;;;:::o;16556:214::-;16645:4;16683:2;16672:9;16668:18;16660:26;;16696:67;16760:1;16749:9;16745:17;16736:6;16696:67;:::i;:::-;16650:120;;;;:::o;16776:775::-;17011:4;17049:3;17038:9;17034:19;17026:27;;17063:68;17128:1;17117:9;17113:17;17104:6;17063:68;:::i;:::-;17141:72;17209:2;17198:9;17194:18;17185:6;17141:72;:::i;:::-;17223:85;17304:2;17293:9;17289:18;17280:6;17223:85;:::i;:::-;17318:72;17386:2;17375:9;17371:18;17362:6;17318:72;:::i;:::-;17438:9;17432:4;17428:20;17422:3;17411:9;17407:19;17400:49;17466:78;17539:4;17530:6;17466:78;:::i;:::-;17458:86;;17016:535;;;;;;;;:::o;17557:773::-;17791:4;17829:3;17818:9;17814:19;17806:27;;17843:67;17907:1;17896:9;17892:17;17883:6;17843:67;:::i;:::-;17920:72;17988:2;17977:9;17973:18;17964:6;17920:72;:::i;:::-;18002:85;18083:2;18072:9;18068:18;18059:6;18002:85;:::i;:::-;18097:72;18165:2;18154:9;18150:18;18141:6;18097:72;:::i;:::-;18217:9;18211:4;18207:20;18201:3;18190:9;18186:19;18179:49;18245:78;18318:4;18309:6;18245:78;:::i;:::-;18237:86;;17796:534;;;;;;;;:::o;18336:876::-;18594:4;18632:3;18621:9;18617:19;18609:27;;18646:67;18710:1;18699:9;18695:17;18686:6;18646:67;:::i;:::-;18723:68;18787:2;18776:9;18772:18;18763:6;18723:68;:::i;:::-;18801:72;18869:2;18858:9;18854:18;18845:6;18801:72;:::i;:::-;18883:85;18964:2;18953:9;18949:18;18940:6;18883:85;:::i;:::-;18978:73;19046:3;19035:9;19031:19;19022:6;18978:73;:::i;:::-;19099:9;19093:4;19089:20;19083:3;19072:9;19068:19;19061:49;19127:78;19200:4;19191:6;19127:78;:::i;:::-;19119:86;;18599:613;;;;;;;;;:::o;19218:313::-;19331:4;19369:2;19358:9;19354:18;19346:26;;19418:9;19412:4;19408:20;19404:1;19393:9;19389:17;19382:47;19446:78;19519:4;19510:6;19446:78;:::i;:::-;19438:86;;19336:195;;;;:::o;19537:419::-;19703:4;19741:2;19730:9;19726:18;19718:26;;19790:9;19784:4;19780:20;19776:1;19765:9;19761:17;19754:47;19818:131;19944:4;19818:131;:::i;:::-;19810:139;;19708:248;;;:::o;19962:419::-;20128:4;20166:2;20155:9;20151:18;20143:26;;20215:9;20209:4;20205:20;20201:1;20190:9;20186:17;20179:47;20243:131;20369:4;20243:131;:::i;:::-;20235:139;;20133:248;;;:::o;20387:419::-;20553:4;20591:2;20580:9;20576:18;20568:26;;20640:9;20634:4;20630:20;20626:1;20615:9;20611:17;20604:47;20668:131;20794:4;20668:131;:::i;:::-;20660:139;;20558:248;;;:::o;20812:419::-;20978:4;21016:2;21005:9;21001:18;20993:26;;21065:9;21059:4;21055:20;21051:1;21040:9;21036:17;21029:47;21093:131;21219:4;21093:131;:::i;:::-;21085:139;;20983:248;;;:::o;21237:419::-;21403:4;21441:2;21430:9;21426:18;21418:26;;21490:9;21484:4;21480:20;21476:1;21465:9;21461:17;21454:47;21518:131;21644:4;21518:131;:::i;:::-;21510:139;;21408:248;;;:::o;21662:419::-;21828:4;21866:2;21855:9;21851:18;21843:26;;21915:9;21909:4;21905:20;21901:1;21890:9;21886:17;21879:47;21943:131;22069:4;21943:131;:::i;:::-;21935:139;;21833:248;;;:::o;22087:419::-;22253:4;22291:2;22280:9;22276:18;22268:26;;22340:9;22334:4;22330:20;22326:1;22315:9;22311:17;22304:47;22368:131;22494:4;22368:131;:::i;:::-;22360:139;;22258:248;;;:::o;22512:419::-;22678:4;22716:2;22705:9;22701:18;22693:26;;22765:9;22759:4;22755:20;22751:1;22740:9;22736:17;22729:47;22793:131;22919:4;22793:131;:::i;:::-;22785:139;;22683:248;;;:::o;22937:419::-;23103:4;23141:2;23130:9;23126:18;23118:26;;23190:9;23184:4;23180:20;23176:1;23165:9;23161:17;23154:47;23218:131;23344:4;23218:131;:::i;:::-;23210:139;;23108:248;;;:::o;23362:419::-;23528:4;23566:2;23555:9;23551:18;23543:26;;23615:9;23609:4;23605:20;23601:1;23590:9;23586:17;23579:47;23643:131;23769:4;23643:131;:::i;:::-;23635:139;;23533:248;;;:::o;23787:222::-;23880:4;23918:2;23907:9;23903:18;23895:26;;23931:71;23999:1;23988:9;23984:17;23975:6;23931:71;:::i;:::-;23885:124;;;;:::o;24015:129::-;24049:6;24076:20;;:::i;:::-;24066:30;;24105:33;24133:4;24125:6;24105:33;:::i;:::-;24056:88;;;:::o;24150:75::-;24183:6;24216:2;24210:9;24200:19;;24190:35;:::o;24231:308::-;24293:4;24383:18;24375:6;24372:30;24369:2;;;24405:18;;:::i;:::-;24369:2;24443:29;24465:6;24443:29;:::i;:::-;24435:37;;24527:4;24521;24517:15;24509:23;;24298:241;;;:::o;24545:99::-;24597:6;24631:5;24625:12;24615:22;;24604:40;;;:::o;24650:147::-;24751:11;24788:3;24773:18;;24763:34;;;;:::o;24803:169::-;24887:11;24921:6;24916:3;24909:19;24961:4;24956:3;24952:14;24937:29;;24899:73;;;;:::o;24978:148::-;25080:11;25117:3;25102:18;;25092:34;;;;:::o;25132:305::-;25172:3;25191:20;25209:1;25191:20;:::i;:::-;25186:25;;25225:20;25243:1;25225:20;:::i;:::-;25220:25;;25379:1;25311:66;25307:74;25304:1;25301:81;25298:2;;;25385:18;;:::i;:::-;25298:2;25429:1;25426;25422:9;25415:16;;25176:261;;;;:::o;25443:348::-;25483:7;25506:20;25524:1;25506:20;:::i;:::-;25501:25;;25540:20;25558:1;25540:20;:::i;:::-;25535:25;;25728:1;25660:66;25656:74;25653:1;25650:81;25645:1;25638:9;25631:17;25627:105;25624:2;;;25735:18;;:::i;:::-;25624:2;25783:1;25780;25776:9;25765:20;;25491:300;;;;:::o;25797:96::-;25834:7;25863:24;25881:5;25863:24;:::i;:::-;25852:35;;25842:51;;;:::o;25899:90::-;25933:7;25976:5;25969:13;25962:21;25951:32;;25941:48;;;:::o;25995:77::-;26032:7;26061:5;26050:16;;26040:32;;;:::o;26078:149::-;26114:7;26154:66;26147:5;26143:78;26132:89;;26122:105;;;:::o;26233:141::-;26285:7;26314:5;26303:16;;26320:48;26362:5;26320:48;:::i;:::-;26293:81;;;:::o;26380:90::-;26415:7;26458:5;26455:1;26444:20;26433:31;;26423:47;;;:::o;26476:126::-;26513:7;26553:42;26546:5;26542:54;26531:65;;26521:81;;;:::o;26608:77::-;26645:7;26674:5;26663:16;;26653:32;;;:::o;26691:86::-;26726:7;26766:4;26759:5;26755:16;26744:27;;26734:43;;;:::o;26783:164::-;26852:9;26885:56;26935:5;26885:56;:::i;:::-;26872:69;;26862:85;;;:::o;26953:132::-;27022:9;27055:24;27073:5;27055:24;:::i;:::-;27042:37;;27032:53;;;:::o;27091:141::-;27154:9;27187:39;27220:5;27187:39;:::i;:::-;27174:52;;27164:68;;;:::o;27238:108::-;27285:9;27318:22;27334:5;27318:22;:::i;:::-;27305:35;;27295:51;;;:::o;27352:154::-;27436:6;27431:3;27426;27413:30;27498:1;27489:6;27484:3;27480:16;27473:27;27403:103;;;:::o;27512:307::-;27580:1;27590:113;27604:6;27601:1;27598:13;27590:113;;;27689:1;27684:3;27680:11;27674:18;27670:1;27665:3;27661:11;27654:39;27626:2;27623:1;27619:10;27614:15;;27590:113;;;27721:6;27718:1;27715:13;27712:2;;;27801:1;27792:6;27787:3;27783:16;27776:27;27712:2;27561:258;;;;:::o;27825:171::-;27864:3;27887:24;27905:5;27887:24;:::i;:::-;27878:33;;27933:4;27926:5;27923:15;27920:2;;;27941:18;;:::i;:::-;27920:2;27988:1;27981:5;27977:13;27970:20;;27868:128;;;:::o;28002:320::-;28046:6;28083:1;28077:4;28073:12;28063:22;;28130:1;28124:4;28120:12;28151:18;28141:2;;28207:4;28199:6;28195:17;28185:27;;28141:2;28269;28261:6;28258:14;28238:18;28235:38;28232:2;;;28288:18;;:::i;:::-;28232:2;28053:269;;;;:::o;28328:281::-;28411:27;28433:4;28411:27;:::i;:::-;28403:6;28399:40;28541:6;28529:10;28526:22;28505:18;28493:10;28490:34;28487:62;28484:2;;;28552:18;;:::i;:::-;28484:2;28592:10;28588:2;28581:22;28371:238;;;:::o;28615:180::-;28663:77;28660:1;28653:88;28760:4;28757:1;28750:15;28784:4;28781:1;28774:15;28801:180;28849:77;28846:1;28839:88;28946:4;28943:1;28936:15;28970:4;28967:1;28960:15;28987:180;29035:77;29032:1;29025:88;29132:4;29129:1;29122:15;29156:4;29153:1;29146:15;29173:180;29221:77;29218:1;29211:88;29318:4;29315:1;29308:15;29342:4;29339:1;29332:15;29359:102;29400:6;29451:2;29447:7;29442:2;29435:5;29431:14;29427:28;29417:38;;29407:54;;;:::o;29467:182::-;29607:34;29603:1;29595:6;29591:14;29584:58;29573:76;:::o;29655:179::-;29795:31;29791:1;29783:6;29779:14;29772:55;29761:73;:::o;29840:225::-;29980:34;29976:1;29968:6;29964:14;29957:58;30049:8;30044:2;30036:6;30032:15;30025:33;29946:119;:::o;30071:172::-;30211:24;30207:1;30199:6;30195:14;30188:48;30177:66;:::o;30249:174::-;30389:26;30385:1;30377:6;30373:14;30366:50;30355:68;:::o;30429:178::-;30569:30;30565:1;30557:6;30553:14;30546:54;30535:72;:::o;30613:234::-;30753:34;30749:1;30741:6;30737:14;30730:58;30822:17;30817:2;30809:6;30805:15;30798:42;30719:128;:::o;30853:182::-;30993:34;30989:1;30981:6;30977:14;30970:58;30959:76;:::o;31041:114::-;31147:8;:::o;31161:173::-;31301:25;31297:1;31289:6;31285:14;31278:49;31267:67;:::o;31340:237::-;31480:34;31476:1;31468:6;31464:14;31457:58;31549:20;31544:2;31536:6;31532:15;31525:45;31446:131;:::o;31583:167::-;31723:19;31719:1;31711:6;31707:14;31700:43;31689:61;:::o;31756:234::-;31896:34;31892:1;31884:6;31880:14;31873:58;31965:17;31960:2;31952:6;31948:15;31941:42;31862:128;:::o;31996:120::-;32084:1;32077:5;32074:12;32064:2;;32090:18;;:::i;:::-;32064:2;32054:62;:::o;32122:122::-;32195:24;32213:5;32195:24;:::i;:::-;32188:5;32185:35;32175:2;;32234:1;32231;32224:12;32175:2;32165:79;:::o;32250:116::-;32320:21;32335:5;32320:21;:::i;:::-;32313:5;32310:32;32300:2;;32356:1;32353;32346:12;32300:2;32290:76;:::o;32372:122::-;32445:24;32463:5;32445:24;:::i;:::-;32438:5;32435:35;32425:2;;32484:1;32481;32474:12;32425:2;32415:79;:::o;32500:120::-;32572:23;32589:5;32572:23;:::i;:::-;32565:5;32562:34;32552:2;;32610:1;32607;32600:12;32552:2;32542:78;:::o;32626:114::-;32714:1;32707:5;32704:12;32694:2;;32730:1;32727;32720:12;32694:2;32684:56;:::o;32746:118::-;32817:22;32833:5;32817:22;:::i;:::-;32810:5;32807:33;32797:2;;32854:1;32851;32844:12;32797:2;32787:77;:::o;32870:122::-;32943:24;32961:5;32943:24;:::i;:::-;32936:5;32933:35;32923:2;;32982:1;32979;32972:12;32923:2;32913:79;:::o;32998:118::-;33069:22;33085:5;33069:22;:::i;:::-;33062:5;33059:33;33049:2;;33106:1;33103;33096:12;33049:2;33039:77;:::o" + }, + "methodIdentifiers": { + "ApplyForUnion(int64,int64,address,uint8,address,string)": "b9f7076f", + "ApproveJoin(address)": "ad8f8660", + "Chat_id_array(uint256)": "d698b364", + "DEFAULT_ADMIN_ROLE()": "a217fddf", + "DeclineJoin(address)": "36b9f727", + "daoAddresses(int64)": "d6b2da8e", + "daos(address)": "c25f3cf6", + "getDaoAddressbyChatId(int64)": "e57bede4", + "getDaoCount()": "d4d8f892", + "getRoleAdmin(bytes32)": "248a9ca3", + "grantRole(bytes32,address)": "2f2ff15d", + "hasRole(bytes32,address)": "91d14854", + "moderator()": "38743904", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "renounceRole(bytes32,address)": "36568abe", + "revokeRole(bytes32,address)": "d547741f", + "supportsInterface(bytes4)": "01ffc9a7", + "tgpassport()": "7527d5a1", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passportContract_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applier_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum Union.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApplicationForJoin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applier_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum Union.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApplicationForJoinIndexed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"chat_id\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum Union.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApprovedJoin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"chat_id\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum Union.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"DeclinedApplication\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"daoTg\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"dao_\",\"type\":\"address\"},{\"internalType\":\"enum Union.VotingType\",\"name\":\"votingType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"votingTokenContract_\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"dao_name_\",\"type\":\"string\"}],\"name\":\"ApplyForUnion\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"daoAddress\",\"type\":\"address\"}],\"name\":\"ApproveJoin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"Chat_id_array\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"daoAddress\",\"type\":\"address\"}],\"name\":\"DeclineJoin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"name\":\"daoAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"daos\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"chatOwnerAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"multisigAddress\",\"type\":\"address\"},{\"internalType\":\"enum Union.VotingType\",\"name\":\"votingType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"votingToken\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"}],\"name\":\"getDaoAddressbyChatId\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDaoCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moderator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tgpassport\",\"outputs\":[{\"internalType\":\"contract TGPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"ApplyForUnion(int64,int64,address,uint8,address,string)\":{\"params\":{\"applyerTg\":\"-- tgid of user who sent apply\",\"daoTg\":\"-- tgid of chat\",\"dao_\":\"-- multisig address\",\"dao_name_\":\"-- string name of group chat. can be uses as a link (if link is https://t.me/eth_ru then name is @eth_ru)\",\"votingType_\":\"-- represents voting token's type: 0=erc20 1=erc20Snapshot 2=erc721\"}},\"ApproveJoin(address)\":{\"details\":\"This function intended to be used by bot, cause only bot can check if tg id of multisig owner is eqal of tg id of chat admin\",\"params\":{\"daoAddress\":\"address of multisig wallet\"}},\"DeclineJoin(address)\":{\"details\":\"function for decline join (for erase unvalid data as example)\",\"params\":{\"daoAddress\":\"address of multisig\"}},\"getDaoAddressbyChatId(int64)\":{\"details\":\"get multisig address by tgid of chat\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ApplyForUnion(int64,int64,address,uint8,address,string)\":{\"notice\":\"This function suggest applying for union for any dao REQUIREMENTS: 1.dao should have it's multisig address 2.owner of multisig must be registred in Passport contract with it's personal tg_id 3. this tg_id must be equal to tgid of appling chat admin. Last check can be done only by oracle\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Union.sol\":\"Union\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x4a1a0ba12bf1a33f10d9fe226278cf59675c0b929d29e4da99658a079b27fb84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bda1319db846d6d6f92d8a57a9bdee8bde1dc39aa7546165791692c24dd6f30a\",\"dweb:/ipfs/Qma5oZ7DmbdAjd8mpiW7mx896PDtwsQtCQ2hj9Upf7b7JK\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/TGPassport.sol\":{\"keccak256\":\"0x52865a08e7e8312183726b929f52c223009699aeaf597666d038ee7349baa3b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eba014fcc483e421a761eaa985074b30dab133a32a7b347449a75860cace3e90\",\"dweb:/ipfs/Qmd75cnT51zsyASrTHd5RdQ3GBtcwTt69gTqocww6YWwo6\"]},\"contracts/Union.sol\":{\"keccak256\":\"0x2e35ee74f81caf64b9bdd9d61e3cf894263a03c56f25d43e7a26edca86359644\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://7d834cbbae90229f594a4ca8df213aa399c1eaf0b0f39e985c46b2002be5a2bc\",\"dweb:/ipfs/QmfVZuSNvG4jZbSo88o5rtWa2ZpWh99Qpojf1qVQiuWK4f\"]},\"hardhat/console.sol\":{\"keccak256\":\"0x72b6a1d297cd3b033d7c2e4a7e7864934bb767db6453623f1c3082c6534547f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8cb8681076e765c214e0d51cac989325f6b98e315eaae06ee0cbd5a9f084763\",\"dweb:/ipfs/QmNWGHi4zmjxQTYN3NMGnJd49jBT5dE4bxTdWEaDuJrC6N\"]}},\"version\":1}" + } + }, + "contracts/erc20/ERC20Sample.sol": { + "ERC20Sample": { + "abi": [ + { + "inputs": [ + { + "internalType": "string", + "name": "name_", + "type": "string" + }, + { + "internalType": "string", + "name": "symbol_", + "type": "string" + }, + { + "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": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "decimals", + "outputs": [ + { + "internalType": "uint8", + "name": "", + "type": "uint8" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "subtractedValue", + "type": "uint256" + } + ], + "name": "decreaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "addedValue", + "type": "uint256" + } + ], + "name": "increaseAllowance", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "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": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "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": "amount", + "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" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:6775:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "102:259:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "112:75:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "179:6:17" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "137:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "137:49:17" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "121:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "121:66:17" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "112:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "203:5:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "210:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "196:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "196:21:17" + }, + "nodeType": "YulExpressionStatement", + "src": "196:21:17" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "226:27:17", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "241:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "248:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "237:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "237:16:17" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "230:3:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "291:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "300:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "303:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "293:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "293:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "293:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "272:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "277:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "268:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "268:16:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "286:3:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "265:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "265:25:17" + }, + "nodeType": "YulIf", + "src": "262:2:17" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "338:3:17" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "343:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "348:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "316:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "316:39:17" + }, + "nodeType": "YulExpressionStatement", + "src": "316:39:17" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "75:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "80:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "88:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "96:5:17", + "type": "" + } + ], + "src": "7:354:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "454:215:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "503:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "512:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "515:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "505:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "505:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "505:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "482:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "490:4:17", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "478:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "478:17:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "497:3:17" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "474:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "474:27:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "467:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "467:35:17" + }, + "nodeType": "YulIf", + "src": "464:2:17" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "528:27:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "548:6:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "542:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "542:13:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "532:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "564:99:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "636:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "644:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "632:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "632:17:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "651:6:17" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "659:3:17" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "573:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "573:90:17" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "564:5:17" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "432:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "440:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "448:5:17", + "type": "" + } + ], + "src": "381:288:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "738:80:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "748:22:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "763:6:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "757:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "757:13:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "748:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "806:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "779:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "779:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "779:33:17" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "716:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "724:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "732:5:17", + "type": "" + } + ], + "src": "675:143:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "955:677:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1001:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1010:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1013:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1003:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1003:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1003:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "976:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "985:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "972:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "972:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "997:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "968:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "968:32:17" + }, + "nodeType": "YulIf", + "src": "965:2:17" + }, + { + "nodeType": "YulBlock", + "src": "1027:224:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1042:38:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1066:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1077:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1062:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1062:17:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1056:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "1056:24:17" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1046:6:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1127:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1136:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1139:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1129:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1129:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1129:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1099:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1107:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1096:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "1096:30:17" + }, + "nodeType": "YulIf", + "src": "1093:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "1157:84:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1213:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1224:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1209:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1209:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1233:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "1167:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "1167:74:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1157:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1261:225:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1276:39:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1300:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1311:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1296:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1296:18:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1290:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "1290:25:17" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1280:6:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1362:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1371:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1374:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1364:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1364:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1364:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1334:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1342:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "1331:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "1331:30:17" + }, + "nodeType": "YulIf", + "src": "1328:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "1392:84:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1448:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1459:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1444:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1444:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1468:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr_fromMemory", + "nodeType": "YulIdentifier", + "src": "1402:41:17" + }, + "nodeType": "YulFunctionCall", + "src": "1402:74:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1392:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1496:129:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1511:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1525:2:17", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1515:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1541:74:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1587:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1598:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1583:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1583:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1607:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "1551:31:17" + }, + "nodeType": "YulFunctionCall", + "src": "1551:64:17" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1541:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "909:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "920:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "932:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "940:6:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "948:6:17", + "type": "" + } + ], + "src": "824:808:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1784:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1794:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1860:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1865:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "1801:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "1801:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1794:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1966:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulIdentifier", + "src": "1877:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "1877:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1877:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "1979:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "1990:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1995:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1986:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1986:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1979:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "1772:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1780:3:17", + "type": "" + } + ], + "src": "1638:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2156:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2166:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2232:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2237:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2173:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "2173:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2166:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2338:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "nodeType": "YulIdentifier", + "src": "2249:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "2249:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2249:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "2351:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2362:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2367:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2358:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2358:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2351:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2144:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2152:3:17", + "type": "" + } + ], + "src": "2010:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2447:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2464:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2487:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "2469:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "2469:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2457:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2457:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2457:37:17" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2435:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2442:3:17", + "type": "" + } + ], + "src": "2382:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2677:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2687:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2699:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2710:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2695:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2695:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2687:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2734:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2745:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2730:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2730:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2753:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2759:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2749:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2749:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2723:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2723:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2723:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "2779:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2913:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2787:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "2787:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "2779:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2657:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "2672:4:17", + "type": "" + } + ], + "src": "2506:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3102:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3112:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3124:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3135:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3120:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3120:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3112:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3159:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3170:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3155:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3155:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3178:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3184:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3174:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3174:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "3148:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "3148:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3148:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "3204:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3338:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3212:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "3212:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3204:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3082:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3097:4:17", + "type": "" + } + ], + "src": "2931:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3454:124:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3464:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3476:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3487:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3472:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3472:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "3464:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3544:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3557:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3568:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3553:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3553:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "3500:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "3500:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3500:71:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3426:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3438:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "3449:4:17", + "type": "" + } + ], + "src": "3356:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3625:88:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3635:30:17", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "3645:18:17" + }, + "nodeType": "YulFunctionCall", + "src": "3645:20:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "3635:6:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "3694:6:17" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "3702:4:17" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "3674:19:17" + }, + "nodeType": "YulFunctionCall", + "src": "3674:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3674:33:17" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "3609:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "3618:6:17", + "type": "" + } + ], + "src": "3584:129:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3759:35:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3769:19:17", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3785:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "3779:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "3779:9:17" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "3769:6:17" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "3752:6:17", + "type": "" + } + ], + "src": "3719:75:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3867:241:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3972:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "3974:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "3974:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3974:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "3944:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3952:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3941:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "3941:30:17" + }, + "nodeType": "YulIf", + "src": "3938:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "4004:37:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4034:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "4012:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "4012:29:17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "4004:4:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4078:23:17", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "4090:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4096:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4086:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4086:15:17" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "4078:4:17" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "3851:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "3862:4:17", + "type": "" + } + ], + "src": "3800:308:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4210:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4227:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4232:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4220:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4220:19:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4220:19:17" + }, + { + "nodeType": "YulAssignment", + "src": "4248:29:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4267:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4272:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4263:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4263:14:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "4248:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4182:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4187:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "4198:11:17", + "type": "" + } + ], + "src": "4114:169:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4333:261:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4343:25:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "4366:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "4348:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "4348:20:17" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "4343:1:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4377:25:17", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "4400:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "4382:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "4382:20:17" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "4377:1:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4540:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "4542:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "4542:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4542:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "4461:1:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4468:66:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "4536:1:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4464:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4464:74:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4458:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "4458:81:17" + }, + "nodeType": "YulIf", + "src": "4455:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "4572:16:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "4583:1:17" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "4586:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4579:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4579:9:17" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "4572:3:17" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "4320:1:17", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "4323:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "4329:3:17", + "type": "" + } + ], + "src": "4289:305:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4645:32:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4655:16:17", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4666:5:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "4655:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4627:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "4637:7:17", + "type": "" + } + ], + "src": "4600:77:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4732:258:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4742:10:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4751:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "4746:1:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4811:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "4836:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4841:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4832:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4832:11:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "4855:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4860:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4851:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4851:11:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "4845:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "4845:18:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4825:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4825:39:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4825:39:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4772:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4775:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "4769:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "4769:13:17" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "4783:19:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4785:15:17", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4794:1:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4797:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4790:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4790:10:17" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4785:1:17" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "4765:3:17", + "statements": [] + }, + "src": "4761:113:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4908:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "4958:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4963:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4954:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4954:16:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4972:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4947:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "4947:27:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4947:27:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "4889:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "4892:6:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "4886:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "4886:13:17" + }, + "nodeType": "YulIf", + "src": "4883:2:17" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "4714:3:17", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "4719:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "4724:6:17", + "type": "" + } + ], + "src": "4683:307:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5047:269:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5057:22:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "5071:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5077:1:17", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "5067:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5067:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5057:6:17" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "5088:38:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "5118:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5124:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5114:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5114:12:17" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "5092:18:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5165:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5179:27:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5193:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5201:4:17", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "5189:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5189:17:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5179:6:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "5145:18:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "5138:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5138:26:17" + }, + "nodeType": "YulIf", + "src": "5135:2:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5268:42:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "5282:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "5282:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5282:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "5232:18:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5255:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5263:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5252:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "5252:14:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "5229:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "5229:38:17" + }, + "nodeType": "YulIf", + "src": "5226:2:17" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "5031:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5040:6:17", + "type": "" + } + ], + "src": "4996:320:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5365:238:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5375:58:17", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5397:6:17" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "5427:4:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "5405:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "5405:27:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5393:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5393:40:17" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "5379:10:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5544:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "5546:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "5546:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5546:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5487:10:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5499:18:17", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5484:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "5484:34:17" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5523:10:17" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "5535:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "5520:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "5520:22:17" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "5481:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "5481:62:17" + }, + "nodeType": "YulIf", + "src": "5478:2:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5582:2:17", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "5586:10:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5575:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5575:22:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5575:22:17" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "5351:6:17", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "5359:4:17", + "type": "" + } + ], + "src": "5322:281:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5637:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5654:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5657:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5647:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5647:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5647:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5751:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5754:4:17", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5744:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5744:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5744:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5775:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5778:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5768:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5768:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5768:15:17" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "5609:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5823:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5840:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5843:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5833:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5833:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5833:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5937:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5940:4:17", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "5930:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5930:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5930:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5961:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5964:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5954:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "5954:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5954:15:17" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "5795:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6009:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6026:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6029:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6019:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6019:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6019:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6123:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6126:4:17", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6116:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6116:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6116:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6147:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6150:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6140:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6140:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6140:15:17" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "5981:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6215:54:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6225:38:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6243:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6250:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6239:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6239:14:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6259:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "6255:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6255:7:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "6235:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6235:28:17" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "6225:6:17" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6198:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "6208:6:17", + "type": "" + } + ], + "src": "6167:102:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6381:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6403:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6411:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6399:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6399:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "6415:34:17", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6392:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6392:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6392:58:17" + } + ] + }, + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "6373:6:17", + "type": "" + } + ], + "src": "6275:182:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6569:75:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "6591:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6599:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6587:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6587:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "6603:33:17", + "type": "", + "value": "ERC20: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6580:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6580:57:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6580:57:17" + } + ] + }, + "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "6561:6:17", + "type": "" + } + ], + "src": "6463:181:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6693:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "6750:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6759:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6762:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "6752:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6752:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6752:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6716:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6741:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "6723:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "6723:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "6713:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "6713:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "6706:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6706:43:17" + }, + "nodeType": "YulIf", + "src": "6703:2:17" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6686:5:17", + "type": "" + } + ], + "src": "6650:122:17" + } + ] + }, + "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr_fromMemory(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_memory_to_memory(src, dst, length)\n }\n\n // string\n function abi_decode_t_string_memory_ptr_fromMemory(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := mload(offset)\n array := abi_decode_available_length_t_string_memory_ptr_fromMemory(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_string_memory_ptrt_string_memory_ptrt_uint256_fromMemory(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := mload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := mload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_string_memory_ptr_fromMemory(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: mint to the zero address\")\n\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b50604051620022b4380380620022b4833981810160405281019062000037919062000506565b8282816003908051906020019062000051929190620003cd565b5080600490805190602001906200006a929190620003cd565b5050506200008d62000081620000a860201b60201c565b620000b060201b60201c565b6200009f33826200017660201b60201c565b505050620008d1565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b62000186620000a860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620001ac6200022060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000205576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001fc90620005ed565b60405180910390fd5b6200021c82826200024a60201b620009651760201c565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002bd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b4906200060f565b60405180910390fd5b620002d160008383620003c360201b60201c565b8060026000828254620002e59190620006be565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200033c9190620006be565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003a3919062000631565b60405180910390a3620003bf60008383620003c860201b60201c565b5050565b505050565b505050565b828054620003db906200075b565b90600052602060002090601f016020900481019282620003ff57600085556200044b565b82601f106200041a57805160ff19168380011785556200044b565b828001600101855582156200044b579182015b828111156200044a5782518255916020019190600101906200042d565b5b5090506200045a91906200045e565b5090565b5b80821115620004795760008160009055506001016200045f565b5090565b6000620004946200048e8462000677565b6200064e565b905082815260208101848484011115620004ad57600080fd5b620004ba84828562000725565b509392505050565b600082601f830112620004d457600080fd5b8151620004e68482602086016200047d565b91505092915050565b6000815190506200050081620008b7565b92915050565b6000806000606084860312156200051c57600080fd5b600084015167ffffffffffffffff8111156200053757600080fd5b6200054586828701620004c2565b935050602084015167ffffffffffffffff8111156200056357600080fd5b6200057186828701620004c2565b92505060406200058486828701620004ef565b9150509250925092565b60006200059d602083620006ad565b9150620005aa8262000865565b602082019050919050565b6000620005c4601f83620006ad565b9150620005d1826200088e565b602082019050919050565b620005e7816200071b565b82525050565b6000602082019050818103600083015262000608816200058e565b9050919050565b600060208201905081810360008301526200062a81620005b5565b9050919050565b6000602082019050620006486000830184620005dc565b92915050565b60006200065a6200066d565b905062000668828262000791565b919050565b6000604051905090565b600067ffffffffffffffff82111562000695576200069462000825565b5b620006a08262000854565b9050602081019050919050565b600082825260208201905092915050565b6000620006cb826200071b565b9150620006d8836200071b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000710576200070f620007c7565b5b828201905092915050565b6000819050919050565b60005b838110156200074557808201518184015260208101905062000728565b8381111562000755576000848401525b50505050565b600060028204905060018216806200077457607f821691505b602082108114156200078b576200078a620007f6565b5b50919050565b6200079c8262000854565b810181811067ffffffffffffffff82111715620007be57620007bd62000825565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b620008c2816200071b565b8114620008ce57600080fd5b50565b6119d380620008e16000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806340c10f19146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f9190611398565b60405180910390f35b610132600480360381019061012d9190611153565b6103b4565b60405161013f919061137d565b60405180910390f35b6101506103d7565b60405161015d91906114fa565b60405180910390f35b610180600480360381019061017b9190611104565b6103e1565b60405161018d919061137d565b60405180910390f35b61019e610410565b6040516101ab9190611515565b60405180910390f35b6101ce60048036038101906101c99190611153565b610419565b6040516101db919061137d565b60405180910390f35b6101fe60048036038101906101f99190611153565b6104c3565b005b61021a6004803603810190610215919061109f565b61054d565b60405161022791906114fa565b60405180910390f35b610238610595565b005b61024261061d565b60405161024f9190611362565b60405180910390f35b610260610647565b60405161026d9190611398565b60405180910390f35b610290600480360381019061028b9190611153565b6106d9565b60405161029d919061137d565b60405180910390f35b6102c060048036038101906102bb9190611153565b6107c3565b6040516102cd919061137d565b60405180910390f35b6102f060048036038101906102eb91906110c8565b6107e6565b6040516102fd91906114fa565b60405180910390f35b610320600480360381019061031b919061109f565b61086d565b005b6060600380546103319061162a565b80601f016020809104026020016040519081016040528092919081815260200182805461035d9061162a565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b6000806103bf610ac5565b90506103cc818585610acd565b600191505092915050565b6000600254905090565b6000806103ec610ac5565b90506103f9858285610c98565b610404858585610d24565b60019150509392505050565b60006012905090565b600080610424610ac5565b90506104b8818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104b3919061154c565b610acd565b600191505092915050565b6104cb610ac5565b73ffffffffffffffffffffffffffffffffffffffff166104e961061d565b73ffffffffffffffffffffffffffffffffffffffff161461053f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105369061145a565b60405180910390fd5b6105498282610965565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61059d610ac5565b73ffffffffffffffffffffffffffffffffffffffff166105bb61061d565b73ffffffffffffffffffffffffffffffffffffffff1614610611576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106089061145a565b60405180910390fd5b61061b6000610fa5565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106569061162a565b80601f01602080910402602001604051908101604052809291908181526020018280546106829061162a565b80156106cf5780601f106106a4576101008083540402835291602001916106cf565b820191906000526020600020905b8154815290600101906020018083116106b257829003601f168201915b5050505050905090565b6000806106e4610ac5565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a1906114ba565b60405180910390fd5b6107b78286868403610acd565b60019250505092915050565b6000806107ce610ac5565b90506107db818585610d24565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610875610ac5565b73ffffffffffffffffffffffffffffffffffffffff1661089361061d565b73ffffffffffffffffffffffffffffffffffffffff16146108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e09061145a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610959576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610950906113da565b60405180910390fd5b61096281610fa5565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc906114da565b60405180910390fd5b6109e16000838361106b565b80600260008282546109f3919061154c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a48919061154c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610aad91906114fa565b60405180910390a3610ac160008383611070565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b349061149a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906113fa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c8b91906114fa565b60405180910390a3505050565b6000610ca484846107e6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d1e5781811015610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d079061141a565b60405180910390fd5b610d1d8484848403610acd565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b9061147a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb906113ba565b60405180910390fd5b610e0f83838361106b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c9061143a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f28919061154c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f8c91906114fa565b60405180910390a3610f9f848484611070565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b6000813590506110848161196f565b92915050565b60008135905061109981611986565b92915050565b6000602082840312156110b157600080fd5b60006110bf84828501611075565b91505092915050565b600080604083850312156110db57600080fd5b60006110e985828601611075565b92505060206110fa85828601611075565b9150509250929050565b60008060006060848603121561111957600080fd5b600061112786828701611075565b935050602061113886828701611075565b92505060406111498682870161108a565b9150509250925092565b6000806040838503121561116657600080fd5b600061117485828601611075565b92505060206111858582860161108a565b9150509250929050565b611198816115a2565b82525050565b6111a7816115b4565b82525050565b60006111b882611530565b6111c2818561153b565b93506111d28185602086016115f7565b6111db816116ba565b840191505092915050565b60006111f360238361153b565b91506111fe826116cb565b604082019050919050565b600061121660268361153b565b91506112218261171a565b604082019050919050565b600061123960228361153b565b915061124482611769565b604082019050919050565b600061125c601d8361153b565b9150611267826117b8565b602082019050919050565b600061127f60268361153b565b915061128a826117e1565b604082019050919050565b60006112a260208361153b565b91506112ad82611830565b602082019050919050565b60006112c560258361153b565b91506112d082611859565b604082019050919050565b60006112e860248361153b565b91506112f3826118a8565b604082019050919050565b600061130b60258361153b565b9150611316826118f7565b604082019050919050565b600061132e601f8361153b565b915061133982611946565b602082019050919050565b61134d816115e0565b82525050565b61135c816115ea565b82525050565b6000602082019050611377600083018461118f565b92915050565b6000602082019050611392600083018461119e565b92915050565b600060208201905081810360008301526113b281846111ad565b905092915050565b600060208201905081810360008301526113d3816111e6565b9050919050565b600060208201905081810360008301526113f381611209565b9050919050565b600060208201905081810360008301526114138161122c565b9050919050565b600060208201905081810360008301526114338161124f565b9050919050565b6000602082019050818103600083015261145381611272565b9050919050565b6000602082019050818103600083015261147381611295565b9050919050565b60006020820190508181036000830152611493816112b8565b9050919050565b600060208201905081810360008301526114b3816112db565b9050919050565b600060208201905081810360008301526114d3816112fe565b9050919050565b600060208201905081810360008301526114f381611321565b9050919050565b600060208201905061150f6000830184611344565b92915050565b600060208201905061152a6000830184611353565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611557826115e0565b9150611562836115e0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115975761159661165c565b5b828201905092915050565b60006115ad826115c0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156116155780820151818401526020810190506115fa565b83811115611624576000848401525b50505050565b6000600282049050600182168061164257607f821691505b602082108114156116565761165561168b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611978816115a2565b811461198357600080fd5b50565b61198f816115e0565b811461199a57600080fd5b5056fea2646970667358221220db993fd4d85a55154527f57d0cf62d79fbbed547ef44b132ff6c0148e0a57d1664736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x22B4 CODESIZE SUB DUP1 PUSH3 0x22B4 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0x37 SWAP2 SWAP1 PUSH3 0x506 JUMP JUMPDEST DUP3 DUP3 DUP2 PUSH1 0x3 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x51 SWAP3 SWAP2 SWAP1 PUSH3 0x3CD JUMP JUMPDEST POP DUP1 PUSH1 0x4 SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH3 0x6A SWAP3 SWAP2 SWAP1 PUSH3 0x3CD JUMP JUMPDEST POP POP POP PUSH3 0x8D PUSH3 0x81 PUSH3 0xA8 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0xB0 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x9F CALLER DUP3 PUSH3 0x176 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP POP PUSH3 0x8D1 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH3 0x186 PUSH3 0xA8 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0x1AC PUSH3 0x220 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH3 0x205 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x1FC SWAP1 PUSH3 0x5ED JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x21C DUP3 DUP3 PUSH3 0x24A PUSH1 0x20 SHL PUSH3 0x965 OR PUSH1 0x20 SHR JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH3 0x2BD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH3 0x2B4 SWAP1 PUSH3 0x60F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH3 0x2D1 PUSH1 0x0 DUP4 DUP4 PUSH3 0x3C3 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH3 0x2E5 SWAP2 SWAP1 PUSH3 0x6BE JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH3 0x33C SWAP2 SWAP1 PUSH3 0x6BE JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH3 0x3A3 SWAP2 SWAP1 PUSH3 0x631 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH3 0x3BF PUSH1 0x0 DUP4 DUP4 PUSH3 0x3C8 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH3 0x3DB SWAP1 PUSH3 0x75B JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH3 0x3FF JUMPI PUSH1 0x0 DUP6 SSTORE PUSH3 0x44B JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH3 0x41A JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH3 0x44B JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH3 0x44B JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH3 0x44A JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH3 0x42D JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH3 0x45A SWAP2 SWAP1 PUSH3 0x45E JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH3 0x479 JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH3 0x45F JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x494 PUSH3 0x48E DUP5 PUSH3 0x677 JUMP JUMPDEST PUSH3 0x64E JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH3 0x4AD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x4BA DUP5 DUP3 DUP6 PUSH3 0x725 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH3 0x4D4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 MLOAD PUSH3 0x4E6 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH3 0x47D JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x500 DUP2 PUSH3 0x8B7 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH3 0x51C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x537 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x545 DUP7 DUP3 DUP8 ADD PUSH3 0x4C2 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 DUP5 ADD MLOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH3 0x563 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH3 0x571 DUP7 DUP3 DUP8 ADD PUSH3 0x4C2 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH3 0x584 DUP7 DUP3 DUP8 ADD PUSH3 0x4EF JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 PUSH3 0x59D PUSH1 0x20 DUP4 PUSH3 0x6AD JUMP JUMPDEST SWAP2 POP PUSH3 0x5AA DUP3 PUSH3 0x865 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x5C4 PUSH1 0x1F DUP4 PUSH3 0x6AD JUMP JUMPDEST SWAP2 POP PUSH3 0x5D1 DUP3 PUSH3 0x88E JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x5E7 DUP2 PUSH3 0x71B JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x608 DUP2 PUSH3 0x58E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH3 0x62A DUP2 PUSH3 0x5B5 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH3 0x648 PUSH1 0x0 DUP4 ADD DUP5 PUSH3 0x5DC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x65A PUSH3 0x66D JUMP JUMPDEST SWAP1 POP PUSH3 0x668 DUP3 DUP3 PUSH3 0x791 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH3 0x695 JUMPI PUSH3 0x694 PUSH3 0x825 JUMP JUMPDEST JUMPDEST PUSH3 0x6A0 DUP3 PUSH3 0x854 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x6CB DUP3 PUSH3 0x71B JUMP JUMPDEST SWAP2 POP PUSH3 0x6D8 DUP4 PUSH3 0x71B JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH3 0x710 JUMPI PUSH3 0x70F PUSH3 0x7C7 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH3 0x745 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH3 0x728 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH3 0x755 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH3 0x774 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH3 0x78B JUMPI PUSH3 0x78A PUSH3 0x7F6 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x79C DUP3 PUSH3 0x854 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH3 0x7BE JUMPI PUSH3 0x7BD PUSH3 0x825 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH3 0x8C2 DUP2 PUSH3 0x71B JUMP JUMPDEST DUP2 EQ PUSH3 0x8CE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x19D3 DUP1 PUSH3 0x8E1 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x276 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2A6 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x2D6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x306 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x200 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x230 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x258 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x166 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x196 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x1B4 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1E4 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x148 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x1398 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x132 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12D SWAP2 SWAP1 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13F SWAP2 SWAP1 PUSH2 0x137D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x150 PUSH2 0x3D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15D SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x180 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17B SWAP2 SWAP1 PUSH2 0x1104 JUMP JUMPDEST PUSH2 0x3E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18D SWAP2 SWAP1 PUSH2 0x137D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19E PUSH2 0x410 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AB SWAP2 SWAP1 PUSH2 0x1515 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C9 SWAP2 SWAP1 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x419 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DB SWAP2 SWAP1 PUSH2 0x137D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F9 SWAP2 SWAP1 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x4C3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x21A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x215 SWAP2 SWAP1 PUSH2 0x109F JUMP JUMPDEST PUSH2 0x54D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x227 SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x238 PUSH2 0x595 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x242 PUSH2 0x61D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24F SWAP2 SWAP1 PUSH2 0x1362 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x260 PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x26D SWAP2 SWAP1 PUSH2 0x1398 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x290 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x28B SWAP2 SWAP1 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x6D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29D SWAP2 SWAP1 PUSH2 0x137D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BB SWAP2 SWAP1 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x7C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CD SWAP2 SWAP1 PUSH2 0x137D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2EB SWAP2 SWAP1 PUSH2 0x10C8 JUMP JUMPDEST PUSH2 0x7E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2FD SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x320 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x31B SWAP2 SWAP1 PUSH2 0x109F JUMP JUMPDEST PUSH2 0x86D JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x331 SWAP1 PUSH2 0x162A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x35D SWAP1 PUSH2 0x162A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3AA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x37F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3AA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x38D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3BF PUSH2 0xAC5 JUMP JUMPDEST SWAP1 POP PUSH2 0x3CC DUP2 DUP6 DUP6 PUSH2 0xACD JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3EC PUSH2 0xAC5 JUMP JUMPDEST SWAP1 POP PUSH2 0x3F9 DUP6 DUP3 DUP6 PUSH2 0xC98 JUMP JUMPDEST PUSH2 0x404 DUP6 DUP6 DUP6 PUSH2 0xD24 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x424 PUSH2 0xAC5 JUMP JUMPDEST SWAP1 POP PUSH2 0x4B8 DUP2 DUP6 DUP6 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0x154C JUMP JUMPDEST PUSH2 0xACD JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4CB PUSH2 0xAC5 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x4E9 PUSH2 0x61D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x53F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x536 SWAP1 PUSH2 0x145A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x549 DUP3 DUP3 PUSH2 0x965 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x59D PUSH2 0xAC5 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x5BB PUSH2 0x61D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x611 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x608 SWAP1 PUSH2 0x145A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x61B PUSH1 0x0 PUSH2 0xFA5 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x656 SWAP1 PUSH2 0x162A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x682 SWAP1 PUSH2 0x162A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6CF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6A4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6CF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6B2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6E4 PUSH2 0xAC5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x7AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A1 SWAP1 PUSH2 0x14BA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x7B7 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0xACD JUMP JUMPDEST PUSH1 0x1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x7CE PUSH2 0xAC5 JUMP JUMPDEST SWAP1 POP PUSH2 0x7DB DUP2 DUP6 DUP6 PUSH2 0xD24 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x875 PUSH2 0xAC5 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x893 PUSH2 0x61D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x8E9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8E0 SWAP1 PUSH2 0x145A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x959 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x950 SWAP1 PUSH2 0x13DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x962 DUP2 PUSH2 0xFA5 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x9D5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9CC SWAP1 PUSH2 0x14DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x9E1 PUSH1 0x0 DUP4 DUP4 PUSH2 0x106B JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9F3 SWAP2 SWAP1 PUSH2 0x154C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xA48 SWAP2 SWAP1 PUSH2 0x154C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xAAD SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xAC1 PUSH1 0x0 DUP4 DUP4 PUSH2 0x1070 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xB3D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB34 SWAP1 PUSH2 0x149A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xBAD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBA4 SWAP1 PUSH2 0x13FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP4 PUSH1 0x40 MLOAD PUSH2 0xC8B SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCA4 DUP5 DUP5 PUSH2 0x7E6 JUMP JUMPDEST SWAP1 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0xD1E JUMPI DUP2 DUP2 LT ISZERO PUSH2 0xD10 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD07 SWAP1 PUSH2 0x141A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD1D DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0xACD JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xD94 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD8B SWAP1 PUSH2 0x147A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xE04 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFB SWAP1 PUSH2 0x13BA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE0F DUP4 DUP4 DUP4 PUSH2 0x106B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0xE95 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE8C SWAP1 PUSH2 0x143A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xF28 SWAP2 SWAP1 PUSH2 0x154C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xF8C SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xF9F DUP5 DUP5 DUP5 PUSH2 0x1070 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1084 DUP2 PUSH2 0x196F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1099 DUP2 PUSH2 0x1986 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x10BF DUP5 DUP3 DUP6 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x10DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x10E9 DUP6 DUP3 DUP7 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x10FA DUP6 DUP3 DUP7 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1119 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1127 DUP7 DUP3 DUP8 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1138 DUP7 DUP3 DUP8 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1149 DUP7 DUP3 DUP8 ADD PUSH2 0x108A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1166 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1174 DUP6 DUP3 DUP7 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1185 DUP6 DUP3 DUP7 ADD PUSH2 0x108A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1198 DUP2 PUSH2 0x15A2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x11A7 DUP2 PUSH2 0x15B4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11B8 DUP3 PUSH2 0x1530 JUMP JUMPDEST PUSH2 0x11C2 DUP2 DUP6 PUSH2 0x153B JUMP JUMPDEST SWAP4 POP PUSH2 0x11D2 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x15F7 JUMP JUMPDEST PUSH2 0x11DB DUP2 PUSH2 0x16BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11F3 PUSH1 0x23 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x11FE DUP3 PUSH2 0x16CB JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1216 PUSH1 0x26 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x1221 DUP3 PUSH2 0x171A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1239 PUSH1 0x22 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x1244 DUP3 PUSH2 0x1769 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x125C PUSH1 0x1D DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x1267 DUP3 PUSH2 0x17B8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x127F PUSH1 0x26 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x128A DUP3 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12A2 PUSH1 0x20 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x12AD DUP3 PUSH2 0x1830 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12C5 PUSH1 0x25 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x12D0 DUP3 PUSH2 0x1859 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12E8 PUSH1 0x24 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x12F3 DUP3 PUSH2 0x18A8 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x130B PUSH1 0x25 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x1316 DUP3 PUSH2 0x18F7 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x132E PUSH1 0x1F DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x1339 DUP3 PUSH2 0x1946 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x134D DUP2 PUSH2 0x15E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x135C DUP2 PUSH2 0x15EA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1377 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x118F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1392 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x119E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13B2 DUP2 DUP5 PUSH2 0x11AD JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13D3 DUP2 PUSH2 0x11E6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13F3 DUP2 PUSH2 0x1209 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1413 DUP2 PUSH2 0x122C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1433 DUP2 PUSH2 0x124F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1453 DUP2 PUSH2 0x1272 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1473 DUP2 PUSH2 0x1295 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1493 DUP2 PUSH2 0x12B8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14B3 DUP2 PUSH2 0x12DB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14D3 DUP2 PUSH2 0x12FE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14F3 DUP2 PUSH2 0x1321 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x150F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1344 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x152A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1353 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1557 DUP3 PUSH2 0x15E0 JUMP JUMPDEST SWAP2 POP PUSH2 0x1562 DUP4 PUSH2 0x15E0 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x1597 JUMPI PUSH2 0x1596 PUSH2 0x165C JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15AD DUP3 PUSH2 0x15C0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1615 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x15FA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1624 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1642 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1656 JUMPI PUSH2 0x1655 PUSH2 0x168B JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x1978 DUP2 PUSH2 0x15A2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1983 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x198F DUP2 PUSH2 0x15E0 JUMP JUMPDEST DUP2 EQ PUSH2 0x199A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDB SWAP10 EXTCODEHASH 0xD4 0xD8 GAS SSTORE ISZERO GASLIMIT 0x27 CREATE2 PUSH30 0xCF62D79FBBED547EF44B132FF6C0148E0A57D1664736F6C634300080400 CALLER ", + "sourceMap": "692:329:15:-:0;;;737:169;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;830:5;837:7;2052:5:3;2044;:13;;;;;;;;;;;;:::i;:::-;;2077:7;2067;:17;;;;;;;;;;;;:::i;:::-;;1978:113;;921:32:2;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;869:30:15::1;874:10;885:13;869:4;;;:30;;:::i;:::-;737:169:::0;;;692:329;;640:96:8;693:7;719:10;712:17;;640:96;:::o;2270:187:2:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2270:187;;:::o;912:107:15:-;1259:12:2;:10;;;:12;;:::i;:::-;1248:23;;:7;:5;;;:7;;:::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;989:23:15::1;1001:2;1005:6;989:11;;;;;:23;;:::i;:::-;912:107:::0;;:::o;1036:85:2:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;8415:389:3:-;8517:1;8498:21;;:7;:21;;;;8490:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8566:49;8595:1;8599:7;8608:6;8566:20;;;:49;;:::i;:::-;8642:6;8626:12;;:22;;;;;;;:::i;:::-;;;;;;;;8680:6;8658:9;:18;8668:7;8658:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8722:7;8701:37;;8718:1;8701:37;;;8731:6;8701:37;;;;;;:::i;:::-;;;;;;;;8749:48;8777:1;8781:7;8790:6;8749:19;;;:48;;:::i;:::-;8415:389;;:::o;11795:121::-;;;;:::o;12504:120::-;;;;:::o;692:329:15:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:354:17:-;96:5;121:66;137:49;179:6;137:49;:::i;:::-;121:66;:::i;:::-;112:75;;210:6;203:5;196:21;248:4;241:5;237:16;286:3;277:6;272:3;268:16;265:25;262:2;;;303:1;300;293:12;262:2;316:39;348:6;343:3;338;316:39;:::i;:::-;102:259;;;;;;:::o;381:288::-;448:5;497:3;490:4;482:6;478:17;474:27;464:2;;515:1;512;505:12;464:2;548:6;542:13;573:90;659:3;651:6;644:4;636:6;632:17;573:90;:::i;:::-;564:99;;454:215;;;;;:::o;675:143::-;732:5;763:6;757:13;748:22;;779:33;806:5;779:33;:::i;:::-;738:80;;;;:::o;824:808::-;932:6;940;948;997:2;985:9;976:7;972:23;968:32;965:2;;;1013:1;1010;1003:12;965:2;1077:1;1066:9;1062:17;1056:24;1107:18;1099:6;1096:30;1093:2;;;1139:1;1136;1129:12;1093:2;1167:74;1233:7;1224:6;1213:9;1209:22;1167:74;:::i;:::-;1157:84;;1027:224;1311:2;1300:9;1296:18;1290:25;1342:18;1334:6;1331:30;1328:2;;;1374:1;1371;1364:12;1328:2;1402:74;1468:7;1459:6;1448:9;1444:22;1402:74;:::i;:::-;1392:84;;1261:225;1525:2;1551:64;1607:7;1598:6;1587:9;1583:22;1551:64;:::i;:::-;1541:74;;1496:129;955:677;;;;;:::o;1638:366::-;1780:3;1801:67;1865:2;1860:3;1801:67;:::i;:::-;1794:74;;1877:93;1966:3;1877:93;:::i;:::-;1995:2;1990:3;1986:12;1979:19;;1784:220;;;:::o;2010:366::-;2152:3;2173:67;2237:2;2232:3;2173:67;:::i;:::-;2166:74;;2249:93;2338:3;2249:93;:::i;:::-;2367:2;2362:3;2358:12;2351:19;;2156:220;;;:::o;2382:118::-;2469:24;2487:5;2469:24;:::i;:::-;2464:3;2457:37;2447:53;;:::o;2506:419::-;2672:4;2710:2;2699:9;2695:18;2687:26;;2759:9;2753:4;2749:20;2745:1;2734:9;2730:17;2723:47;2787:131;2913:4;2787:131;:::i;:::-;2779:139;;2677:248;;;:::o;2931:419::-;3097:4;3135:2;3124:9;3120:18;3112:26;;3184:9;3178:4;3174:20;3170:1;3159:9;3155:17;3148:47;3212:131;3338:4;3212:131;:::i;:::-;3204:139;;3102:248;;;:::o;3356:222::-;3449:4;3487:2;3476:9;3472:18;3464:26;;3500:71;3568:1;3557:9;3553:17;3544:6;3500:71;:::i;:::-;3454:124;;;;:::o;3584:129::-;3618:6;3645:20;;:::i;:::-;3635:30;;3674:33;3702:4;3694:6;3674:33;:::i;:::-;3625:88;;;:::o;3719:75::-;3752:6;3785:2;3779:9;3769:19;;3759:35;:::o;3800:308::-;3862:4;3952:18;3944:6;3941:30;3938:2;;;3974:18;;:::i;:::-;3938:2;4012:29;4034:6;4012:29;:::i;:::-;4004:37;;4096:4;4090;4086:15;4078:23;;3867:241;;;:::o;4114:169::-;4198:11;4232:6;4227:3;4220:19;4272:4;4267:3;4263:14;4248:29;;4210:73;;;;:::o;4289:305::-;4329:3;4348:20;4366:1;4348:20;:::i;:::-;4343:25;;4382:20;4400:1;4382:20;:::i;:::-;4377:25;;4536:1;4468:66;4464:74;4461:1;4458:81;4455:2;;;4542:18;;:::i;:::-;4455:2;4586:1;4583;4579:9;4572:16;;4333:261;;;;:::o;4600:77::-;4637:7;4666:5;4655:16;;4645:32;;;:::o;4683:307::-;4751:1;4761:113;4775:6;4772:1;4769:13;4761:113;;;4860:1;4855:3;4851:11;4845:18;4841:1;4836:3;4832:11;4825:39;4797:2;4794:1;4790:10;4785:15;;4761:113;;;4892:6;4889:1;4886:13;4883:2;;;4972:1;4963:6;4958:3;4954:16;4947:27;4883:2;4732:258;;;;:::o;4996:320::-;5040:6;5077:1;5071:4;5067:12;5057:22;;5124:1;5118:4;5114:12;5145:18;5135:2;;5201:4;5193:6;5189:17;5179:27;;5135:2;5263;5255:6;5252:14;5232:18;5229:38;5226:2;;;5282:18;;:::i;:::-;5226:2;5047:269;;;;:::o;5322:281::-;5405:27;5427:4;5405:27;:::i;:::-;5397:6;5393:40;5535:6;5523:10;5520:22;5499:18;5487:10;5484:34;5481:62;5478:2;;;5546:18;;:::i;:::-;5478:2;5586:10;5582:2;5575:22;5365:238;;;:::o;5609:180::-;5657:77;5654:1;5647:88;5754:4;5751:1;5744:15;5778:4;5775:1;5768:15;5795:180;5843:77;5840:1;5833:88;5940:4;5937:1;5930:15;5964:4;5961:1;5954:15;5981:180;6029:77;6026:1;6019:88;6126:4;6123:1;6116:15;6150:4;6147:1;6140:15;6167:102;6208:6;6259:2;6255:7;6250:2;6243:5;6239:14;6235:28;6225:38;;6215:54;;;:::o;6275:182::-;6415:34;6411:1;6403:6;6399:14;6392:58;6381:76;:::o;6463:181::-;6603:33;6599:1;6591:6;6587:14;6580:57;6569:75;:::o;6650:122::-;6723:24;6741:5;6723:24;:::i;:::-;6716:5;6713:35;6703:2;;6762:1;6759;6752:12;6703:2;6693:79;:::o;692:329:15:-;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:16615:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "59:87:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "69:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "91:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "78:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "78:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "69:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "134:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "107:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "107:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "107:33:17" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "37:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "45:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "53:5:17", + "type": "" + } + ], + "src": "7:139:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "204:87:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "214:29:17", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "236:6:17" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "223:12:17" + }, + "nodeType": "YulFunctionCall", + "src": "223:20:17" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "214:5:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "279:5:17" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "252:26:17" + }, + "nodeType": "YulFunctionCall", + "src": "252:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "252:33:17" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "182:6:17", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "190:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "198:5:17", + "type": "" + } + ], + "src": "152:139:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "363:196:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "409:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "418:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "421:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "411:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "411:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "411:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "384:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "393:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "380:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "380:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "405:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "376:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "376:32:17" + }, + "nodeType": "YulIf", + "src": "373:2:17" + }, + { + "nodeType": "YulBlock", + "src": "435:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "450:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "464:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "454:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "479:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "514:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "525:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "510:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "510:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "534:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "489:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "489:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "479:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "333:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "344:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "356:6:17", + "type": "" + } + ], + "src": "297:262:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "648:324:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "694:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "703:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "706:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "696:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "696:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "696:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "669:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "678:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "665:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "665:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "690:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "661:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "661:32:17" + }, + "nodeType": "YulIf", + "src": "658:2:17" + }, + { + "nodeType": "YulBlock", + "src": "720:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "735:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "749:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "739:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "764:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "799:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "810:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "795:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "795:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "819:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "774:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "774:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "764:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "847:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "862:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "876:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "866:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "892:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "927:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "938:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "923:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "923:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "947:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "902:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "902:53:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "892:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "610:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "621:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "633:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "641:6:17", + "type": "" + } + ], + "src": "565:407:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1078:452:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1124:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1133:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1136:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1126:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1126:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1126:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1099:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1108:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1095:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1095:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1120:2:17", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1091:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1091:32:17" + }, + "nodeType": "YulIf", + "src": "1088:2:17" + }, + { + "nodeType": "YulBlock", + "src": "1150:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1165:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1179:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1169:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1194:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1229:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1240:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1225:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1225:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1249:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1204:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1204:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1194:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1277:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1292:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1306:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1296:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1322:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1357:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1368:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1353:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1353:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1377:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1332:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1332:53:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1322:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1405:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1420:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1434:2:17", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1424:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1450:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1485:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1496:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1481:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1481:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1505:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1460:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1460:53:17" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "1450:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1032:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1043:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1055:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1063:6:17", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "1071:6:17", + "type": "" + } + ], + "src": "978:552:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1619:324:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1665:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1674:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1677:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1667:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "1667:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "1667:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1640:7:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1649:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1636:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1636:23:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1661:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1632:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1632:32:17" + }, + "nodeType": "YulIf", + "src": "1629:2:17" + }, + { + "nodeType": "YulBlock", + "src": "1691:117:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1706:15:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1720:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1710:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1735:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1770:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1781:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1766:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1766:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1790:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1745:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1745:53:17" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1735:6:17" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "1818:118:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1833:16:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1847:2:17", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1837:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1863:63:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1898:9:17" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1909:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1894:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "1894:22:17" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1918:7:17" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "1873:20:17" + }, + "nodeType": "YulFunctionCall", + "src": "1873:53:17" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "1863:6:17" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_addresst_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1581:9:17", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1592:7:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1604:6:17", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1612:6:17", + "type": "" + } + ], + "src": "1536:407:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2014:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2031:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2054:5:17" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "2036:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "2036:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2024:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2024:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2024:37:17" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2002:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2009:3:17", + "type": "" + } + ], + "src": "1949:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2132:50:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2149:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2169:5:17" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "2154:14:17" + }, + "nodeType": "YulFunctionCall", + "src": "2154:21:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "2142:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "2142:34:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2142:34:17" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2120:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2127:3:17", + "type": "" + } + ], + "src": "2073:109:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2280:272:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2290:53:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2337:5:17" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "2304:32:17" + }, + "nodeType": "YulFunctionCall", + "src": "2304:39:17" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "2294:6:17", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2352:78:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2418:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2423:6:17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2359:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "2359:71:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2352:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2465:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2472:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2461:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2461:16:17" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2479:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2484:6:17" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "2439:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "2439:52:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2439:52:17" + }, + { + "nodeType": "YulAssignment", + "src": "2500:46:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2511:3:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "2538:6:17" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "2516:21:17" + }, + "nodeType": "YulFunctionCall", + "src": "2516:29:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2507:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2507:39:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2500:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2261:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2268:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2276:3:17", + "type": "" + } + ], + "src": "2188:364:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2704:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2714:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2780:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2785:2:17", + "type": "", + "value": "35" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "2721:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "2721:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2714:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2886:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "nodeType": "YulIdentifier", + "src": "2797:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "2797:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "2797:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "2899:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "2910:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2915:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2906:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "2906:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "2899:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "2692:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2700:3:17", + "type": "" + } + ], + "src": "2558:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3076:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3086:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3152:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3157:2:17", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3093:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "3093:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3086:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3258:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulIdentifier", + "src": "3169:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "3169:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3169:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "3271:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3282:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3287:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3278:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3278:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3271:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3064:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3072:3:17", + "type": "" + } + ], + "src": "2930:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3448:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3458:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3524:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3529:2:17", + "type": "", + "value": "34" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3465:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "3465:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3458:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3630:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "nodeType": "YulIdentifier", + "src": "3541:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "3541:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3541:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "3643:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3654:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3659:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3650:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "3650:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "3643:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3436:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3444:3:17", + "type": "" + } + ], + "src": "3302:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3820:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "3830:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3896:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3901:2:17", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "3837:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "3837:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "3830:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4002:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "nodeType": "YulIdentifier", + "src": "3913:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "3913:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "3913:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "4015:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4026:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4031:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4022:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4022:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4015:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "3808:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "3816:3:17", + "type": "" + } + ], + "src": "3674:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4192:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4202:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4268:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4273:2:17", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4209:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "4209:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4202:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4374:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "nodeType": "YulIdentifier", + "src": "4285:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "4285:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4285:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "4387:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4398:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4403:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4394:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4394:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4387:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4180:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4188:3:17", + "type": "" + } + ], + "src": "4046:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4564:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4574:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4640:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4645:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4581:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "4581:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4574:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4746:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulIdentifier", + "src": "4657:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "4657:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "4657:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "4759:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4770:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4775:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4766:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "4766:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "4759:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4552:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4560:3:17", + "type": "" + } + ], + "src": "4418:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4936:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "4946:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5012:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5017:2:17", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "4953:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "4953:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4946:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5118:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "nodeType": "YulIdentifier", + "src": "5029:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "5029:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5029:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "5131:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5142:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5147:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5138:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5138:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5131:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4924:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "4932:3:17", + "type": "" + } + ], + "src": "4790:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5308:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5318:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5384:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5389:2:17", + "type": "", + "value": "36" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5325:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "5325:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5318:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5490:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulIdentifier", + "src": "5401:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "5401:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5401:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "5503:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5514:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5519:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5510:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5510:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5503:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5296:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5304:3:17", + "type": "" + } + ], + "src": "5162:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5680:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "5690:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5756:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5761:2:17", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5697:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "5697:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5690:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5862:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulIdentifier", + "src": "5773:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "5773:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "5773:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "5875:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5886:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5891:2:17", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5882:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "5882:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5875:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5668:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5676:3:17", + "type": "" + } + ], + "src": "5534:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6052:220:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6062:74:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6128:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6133:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6069:58:17" + }, + "nodeType": "YulFunctionCall", + "src": "6069:67:17" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6062:3:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6234:3:17" + } + ], + "functionName": { + "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "nodeType": "YulIdentifier", + "src": "6145:88:17" + }, + "nodeType": "YulFunctionCall", + "src": "6145:93:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6145:93:17" + }, + { + "nodeType": "YulAssignment", + "src": "6247:19:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6258:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6263:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6254:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6254:12:17" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6247:3:17" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6040:3:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6048:3:17", + "type": "" + } + ], + "src": "5906:366:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6343:53:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6360:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6383:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "6365:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "6365:24:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6353:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6353:37:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6353:37:17" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6331:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6338:3:17", + "type": "" + } + ], + "src": "6278:118:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6463:51:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6480:3:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6501:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "6485:15:17" + }, + "nodeType": "YulFunctionCall", + "src": "6485:22:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6473:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "6473:35:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6473:35:17" + } + ] + }, + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6451:5:17", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6458:3:17", + "type": "" + } + ], + "src": "6402:112:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6618:124:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6628:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6640:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6651:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6636:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6636:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6628:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6708:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6721:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6732:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6717:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6717:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "6664:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "6664:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6664:71:17" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6590:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6602:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6613:4:17", + "type": "" + } + ], + "src": "6520:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6840:118:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6850:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6862:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6873:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6858:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6858:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "6850:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6924:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6937:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6948:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6933:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "6933:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "6886:37:17" + }, + "nodeType": "YulFunctionCall", + "src": "6886:65:17" + }, + "nodeType": "YulExpressionStatement", + "src": "6886:65:17" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "6812:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "6824:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "6835:4:17", + "type": "" + } + ], + "src": "6748:210:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7082:195:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7092:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7104:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7115:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7100:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7100:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7092:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7139:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7150:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7135:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7135:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7158:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7164:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7154:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7154:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7128:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7128:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7128:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "7184:86:17", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "7256:6:17" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7265:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7192:63:17" + }, + "nodeType": "YulFunctionCall", + "src": "7192:78:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7184:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7054:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "7066:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7077:4:17", + "type": "" + } + ], + "src": "6964:313:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7454:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7464:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7476:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7487:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7472:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7472:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7464:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7511:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7522:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7507:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7507:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7530:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7536:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7526:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7526:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7500:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7500:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7500:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "7556:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7690:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7564:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "7564:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7556:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7434:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7449:4:17", + "type": "" + } + ], + "src": "7283:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7879:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7889:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7901:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7912:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7897:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7897:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7889:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7936:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7947:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7932:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7932:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7955:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "7961:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "7951:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "7951:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7925:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "7925:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "7925:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "7981:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8115:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7989:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "7989:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "7981:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "7859:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "7874:4:17", + "type": "" + } + ], + "src": "7708:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8304:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8314:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8326:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8337:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8322:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8322:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8314:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8361:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8372:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8357:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8357:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8380:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8386:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8376:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8376:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8350:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "8350:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8350:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "8406:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8540:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8414:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "8414:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8406:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8284:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8299:4:17", + "type": "" + } + ], + "src": "8133:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8729:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8739:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8751:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8762:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8747:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8747:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8739:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8786:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8797:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8782:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8782:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8805:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "8811:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "8801:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "8801:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "8775:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "8775:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "8775:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "8831:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8965:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8839:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "8839:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "8831:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "8709:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "8724:4:17", + "type": "" + } + ], + "src": "8558:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9154:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9164:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9176:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9187:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9172:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9172:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9164:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9211:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9222:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9207:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9207:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9230:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9236:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9226:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9226:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9200:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "9200:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "9200:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "9256:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9390:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9264:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "9264:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9256:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9134:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9149:4:17", + "type": "" + } + ], + "src": "8983:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9579:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9589:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9601:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9612:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9597:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9597:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9589:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9636:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9647:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9632:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9632:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9655:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "9661:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "9651:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "9651:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "9625:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "9625:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "9625:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "9681:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9815:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9689:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "9689:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "9681:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9559:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9574:4:17", + "type": "" + } + ], + "src": "9408:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10004:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10014:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10026:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10037:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10022:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10022:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10014:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10061:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10072:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10057:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10057:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10080:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10086:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10076:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10076:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10050:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10050:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10050:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "10106:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10240:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10114:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "10114:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10106:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "9984:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "9999:4:17", + "type": "" + } + ], + "src": "9833:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10429:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10439:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10451:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10462:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10447:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10447:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10439:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10486:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10497:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10482:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10482:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10505:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10511:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10501:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10501:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10475:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10475:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10475:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "10531:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10665:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10539:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "10539:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10531:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10409:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10424:4:17", + "type": "" + } + ], + "src": "10258:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10854:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10864:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10876:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10887:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10872:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10872:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10864:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10911:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10922:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10907:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10907:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10930:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "10936:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10926:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "10926:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10900:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "10900:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "10900:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "10956:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11090:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10964:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "10964:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10956:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "10834:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10849:4:17", + "type": "" + } + ], + "src": "10683:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11279:248:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11289:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11301:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11312:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11297:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11297:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11289:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11336:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11347:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11332:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11332:17:17" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11355:4:17" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11361:9:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "11351:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11351:20:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11325:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "11325:47:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11325:47:17" + }, + { + "nodeType": "YulAssignment", + "src": "11381:139:17", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11515:4:17" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11389:124:17" + }, + "nodeType": "YulFunctionCall", + "src": "11389:131:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11381:4:17" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11259:9:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11274:4:17", + "type": "" + } + ], + "src": "11108:419:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11631:124:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11641:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11653:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11664:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11649:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11649:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11641:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11721:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11734:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11745:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11730:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11730:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "11677:43:17" + }, + "nodeType": "YulFunctionCall", + "src": "11677:71:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11677:71:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11603:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11615:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11626:4:17", + "type": "" + } + ], + "src": "11533:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11855:120:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11865:26:17", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11877:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11888:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11873:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11873:18:17" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11865:4:17" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11941:6:17" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11954:9:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11965:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11950:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "11950:17:17" + } + ], + "functionName": { + "name": "abi_encode_t_uint8_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "11901:39:17" + }, + "nodeType": "YulFunctionCall", + "src": "11901:67:17" + }, + "nodeType": "YulExpressionStatement", + "src": "11901:67:17" + } + ] + }, + "name": "abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11827:9:17", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11839:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11850:4:17", + "type": "" + } + ], + "src": "11761:214:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12040:40:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12051:22:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12067:5:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "12061:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "12061:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12051:6:17" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12023:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12033:6:17", + "type": "" + } + ], + "src": "11981:99:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12182:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12199:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "12204:6:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12192:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12192:19:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12192:19:17" + }, + { + "nodeType": "YulAssignment", + "src": "12220:29:17", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12239:3:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12244:4:17", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12235:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12235:14:17" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "12220:11:17" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12154:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "12159:6:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "12170:11:17", + "type": "" + } + ], + "src": "12086:169:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12305:261:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12315:25:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "12338:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "12320:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "12320:20:17" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "12315:1:17" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "12349:25:17", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "12372:1:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "12354:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "12354:20:17" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "12349:1:17" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12512:22:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "12514:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "12514:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "12514:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "12433:1:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12440:66:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "12508:1:17" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12436:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12436:74:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "12430:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "12430:81:17" + }, + "nodeType": "YulIf", + "src": "12427:2:17" + }, + { + "nodeType": "YulAssignment", + "src": "12544:16:17", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "12555:1:17" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "12558:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12551:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12551:9:17" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "12544:3:17" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "12292:1:17", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "12295:1:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "12301:3:17", + "type": "" + } + ], + "src": "12261:305:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12617:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12627:35:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12656:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "12638:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "12638:24:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "12627:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12599:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "12609:7:17", + "type": "" + } + ], + "src": "12572:96:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12716:48:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12726:32:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12751:5:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12744:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12744:13:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "12737:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "12737:21:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "12726:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12698:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "12708:7:17", + "type": "" + } + ], + "src": "12674:90:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12815:81:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12825:65:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12840:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12847:42:17", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "12836:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "12836:54:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "12825:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12797:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "12807:7:17", + "type": "" + } + ], + "src": "12770:126:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12947:32:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12957:16:17", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "12968:5:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "12957:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12929:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "12939:7:17", + "type": "" + } + ], + "src": "12902:77:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13028:43:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13038:27:17", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13053:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13060:4:17", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13049:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13049:16:17" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "13038:7:17" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "13010:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "13020:7:17", + "type": "" + } + ], + "src": "12985:86:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13126:258:17", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "13136:10:17", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13145:1:17", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "13140:1:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13205:63:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13230:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13235:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13226:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13226:11:17" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "13249:3:17" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13254:1:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13245:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13245:11:17" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "13239:5:17" + }, + "nodeType": "YulFunctionCall", + "src": "13239:18:17" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13219:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13219:39:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13219:39:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13166:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13169:6:17" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "13163:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "13163:13:17" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "13177:19:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13179:15:17", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13188:1:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13191:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13184:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13184:10:17" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13179:1:17" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "13159:3:17", + "statements": [] + }, + "src": "13155:113:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13302:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "13352:3:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13357:6:17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13348:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13348:16:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13366:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13341:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13341:27:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13341:27:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "13283:1:17" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13286:6:17" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "13280:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "13280:13:17" + }, + "nodeType": "YulIf", + "src": "13277:2:17" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "13108:3:17", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "13113:3:17", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13118:6:17", + "type": "" + } + ], + "src": "13077:307:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13441:269:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13451:22:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "13465:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13471:1:17", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "13461:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13461:12:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13451:6:17" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "13482:38:17", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "13512:4:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13518:1:17", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13508:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13508:12:17" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "13486:18:17", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13559:51:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13573:27:17", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13587:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13595:4:17", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "13583:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "13583:17:17" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13573:6:17" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "13539:18:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "13532:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13532:26:17" + }, + "nodeType": "YulIf", + "src": "13529:2:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13662:42:17", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "13676:16:17" + }, + "nodeType": "YulFunctionCall", + "src": "13676:18:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13676:18:17" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "13626:18:17" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "13649:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13657:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "13646:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "13646:14:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "13623:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "13623:38:17" + }, + "nodeType": "YulIf", + "src": "13620:2:17" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "13425:4:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "13434:6:17", + "type": "" + } + ], + "src": "13390:320:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13744:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13761:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13764:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13754:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13754:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13754:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13858:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13861:4:17", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13851:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13851:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13851:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13882:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13885:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "13875:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13875:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13875:15:17" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "13716:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13930:152:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13947:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13950:77:17", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "13940:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "13940:88:17" + }, + "nodeType": "YulExpressionStatement", + "src": "13940:88:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14044:1:17", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14047:4:17", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14037:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14037:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14037:15:17" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14068:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14071:4:17", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "14061:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14061:15:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14061:15:17" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "13902:180:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14136:54:17", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14146:38:17", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "14164:5:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14171:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14160:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14160:14:17" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14180:2:17", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "14176:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14176:7:17" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "14156:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14156:28:17" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "14146:6:17" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "14119:5:17", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "14129:6:17", + "type": "" + } + ], + "src": "14088:102:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14302:116:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14324:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14332:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14320:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14320:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "14336:34:17", + "type": "", + "value": "ERC20: transfer to the zero addr" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14313:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14313:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14313:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14392:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14400:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14388:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14388:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "14405:5:17", + "type": "", + "value": "ess" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14381:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14381:30:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14381:30:17" + } + ] + }, + "name": "store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "14294:6:17", + "type": "" + } + ], + "src": "14196:222:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14530:119:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14552:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14560:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14548:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14548:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "14564:34:17", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14541:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14541:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14541:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14620:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14628:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14616:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14616:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "14633:8:17", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14609:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14609:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14609:33:17" + } + ] + }, + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "14522:6:17", + "type": "" + } + ], + "src": "14424:225:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14761:115:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14783:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14791:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14779:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14779:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "14795:34:17", + "type": "", + "value": "ERC20: approve to the zero addre" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14772:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14772:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14772:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "14851:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14859:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14847:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "14847:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "14864:4:17", + "type": "", + "value": "ss" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14840:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14840:29:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14840:29:17" + } + ] + }, + "name": "store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "14753:6:17", + "type": "" + } + ], + "src": "14655:221:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14988:73:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15010:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15018:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15006:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15006:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "15022:31:17", + "type": "", + "value": "ERC20: insufficient allowance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14999:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "14999:55:17" + }, + "nodeType": "YulExpressionStatement", + "src": "14999:55:17" + } + ] + }, + "name": "store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "14980:6:17", + "type": "" + } + ], + "src": "14882:179:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15173:119:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15195:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15203:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15191:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15191:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "15207:34:17", + "type": "", + "value": "ERC20: transfer amount exceeds b" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15184:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "15184:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15184:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15263:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15271:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15259:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15259:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "15276:8:17", + "type": "", + "value": "alance" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15252:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "15252:33:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15252:33:17" + } + ] + }, + "name": "store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "15165:6:17", + "type": "" + } + ], + "src": "15067:225:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15404:76:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15426:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15434:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15422:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15422:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "15438:34:17", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15415:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "15415:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15415:58:17" + } + ] + }, + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "15396:6:17", + "type": "" + } + ], + "src": "15298:182:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15592:118:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15614:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15622:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15610:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15610:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "15626:34:17", + "type": "", + "value": "ERC20: transfer from the zero ad" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15603:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "15603:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15603:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15682:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15690:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15678:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15678:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "15695:7:17", + "type": "", + "value": "dress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15671:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "15671:32:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15671:32:17" + } + ] + }, + "name": "store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "15584:6:17", + "type": "" + } + ], + "src": "15486:224:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15822:117:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15844:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15852:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15840:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15840:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "15856:34:17", + "type": "", + "value": "ERC20: approve from the zero add" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15833:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "15833:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15833:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "15912:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15920:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15908:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "15908:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "15925:6:17", + "type": "", + "value": "ress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15901:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "15901:31:17" + }, + "nodeType": "YulExpressionStatement", + "src": "15901:31:17" + } + ] + }, + "name": "store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "15814:6:17", + "type": "" + } + ], + "src": "15716:223:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16051:118:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16073:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16081:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16069:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16069:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "16085:34:17", + "type": "", + "value": "ERC20: decreased allowance below" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16062:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "16062:58:17" + }, + "nodeType": "YulExpressionStatement", + "src": "16062:58:17" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16141:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16149:2:17", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16137:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16137:15:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "16154:7:17", + "type": "", + "value": " zero" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16130:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "16130:32:17" + }, + "nodeType": "YulExpressionStatement", + "src": "16130:32:17" + } + ] + }, + "name": "store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16043:6:17", + "type": "" + } + ], + "src": "15945:224:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16281:75:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "16303:6:17" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16311:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16299:3:17" + }, + "nodeType": "YulFunctionCall", + "src": "16299:14:17" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "16315:33:17", + "type": "", + "value": "ERC20: mint to the zero address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16292:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "16292:57:17" + }, + "nodeType": "YulExpressionStatement", + "src": "16292:57:17" + } + ] + }, + "name": "store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "16273:6:17", + "type": "" + } + ], + "src": "16175:181:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16405:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16462:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16471:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16474:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16464:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "16464:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "16464:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16428:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16453:5:17" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "16435:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "16435:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "16425:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "16425:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "16418:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "16418:43:17" + }, + "nodeType": "YulIf", + "src": "16415:2:17" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16398:5:17", + "type": "" + } + ], + "src": "16362:122:17" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16533:79:17", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "16590:16:17", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16599:1:17", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16602:1:17", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "16592:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "16592:12:17" + }, + "nodeType": "YulExpressionStatement", + "src": "16592:12:17" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16556:5:17" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "16581:5:17" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "16563:17:17" + }, + "nodeType": "YulFunctionCall", + "src": "16563:24:17" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "16553:2:17" + }, + "nodeType": "YulFunctionCall", + "src": "16553:35:17" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "16546:6:17" + }, + "nodeType": "YulFunctionCall", + "src": "16546:43:17" + }, + "nodeType": "YulIf", + "src": "16543:2:17" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "16526:5:17", + "type": "" + } + ], + "src": "16490:122:17" + } + ] + }, + "contents": "{\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_addresst_uint256(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_addresst_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 35)\n store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 34)\n store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 36)\n store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_t_uint8_to_t_uint8_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint8(value))\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_uint8__to_t_uint8__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint8_to_t_uint8_fromStack(value0, add(headStart, 0))\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer to the zero addr\")\n\n mstore(add(memPtr, 32), \"ess\")\n\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function store_literal_in_memory_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve to the zero addre\")\n\n mstore(add(memPtr, 32), \"ss\")\n\n }\n\n function store_literal_in_memory_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: insufficient allowance\")\n\n }\n\n function store_literal_in_memory_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer amount exceeds b\")\n\n mstore(add(memPtr, 32), \"alance\")\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function store_literal_in_memory_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: transfer from the zero ad\")\n\n mstore(add(memPtr, 32), \"dress\")\n\n }\n\n function store_literal_in_memory_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: approve from the zero add\")\n\n mstore(add(memPtr, 32), \"ress\")\n\n }\n\n function store_literal_in_memory_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: decreased allowance below\")\n\n mstore(add(memPtr, 32), \" zero\")\n\n }\n\n function store_literal_in_memory_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e(memPtr) {\n\n mstore(add(memPtr, 0), \"ERC20: mint to the zero address\")\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 17, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806340c10f19146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f9190611398565b60405180910390f35b610132600480360381019061012d9190611153565b6103b4565b60405161013f919061137d565b60405180910390f35b6101506103d7565b60405161015d91906114fa565b60405180910390f35b610180600480360381019061017b9190611104565b6103e1565b60405161018d919061137d565b60405180910390f35b61019e610410565b6040516101ab9190611515565b60405180910390f35b6101ce60048036038101906101c99190611153565b610419565b6040516101db919061137d565b60405180910390f35b6101fe60048036038101906101f99190611153565b6104c3565b005b61021a6004803603810190610215919061109f565b61054d565b60405161022791906114fa565b60405180910390f35b610238610595565b005b61024261061d565b60405161024f9190611362565b60405180910390f35b610260610647565b60405161026d9190611398565b60405180910390f35b610290600480360381019061028b9190611153565b6106d9565b60405161029d919061137d565b60405180910390f35b6102c060048036038101906102bb9190611153565b6107c3565b6040516102cd919061137d565b60405180910390f35b6102f060048036038101906102eb91906110c8565b6107e6565b6040516102fd91906114fa565b60405180910390f35b610320600480360381019061031b919061109f565b61086d565b005b6060600380546103319061162a565b80601f016020809104026020016040519081016040528092919081815260200182805461035d9061162a565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b6000806103bf610ac5565b90506103cc818585610acd565b600191505092915050565b6000600254905090565b6000806103ec610ac5565b90506103f9858285610c98565b610404858585610d24565b60019150509392505050565b60006012905090565b600080610424610ac5565b90506104b8818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104b3919061154c565b610acd565b600191505092915050565b6104cb610ac5565b73ffffffffffffffffffffffffffffffffffffffff166104e961061d565b73ffffffffffffffffffffffffffffffffffffffff161461053f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105369061145a565b60405180910390fd5b6105498282610965565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61059d610ac5565b73ffffffffffffffffffffffffffffffffffffffff166105bb61061d565b73ffffffffffffffffffffffffffffffffffffffff1614610611576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106089061145a565b60405180910390fd5b61061b6000610fa5565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106569061162a565b80601f01602080910402602001604051908101604052809291908181526020018280546106829061162a565b80156106cf5780601f106106a4576101008083540402835291602001916106cf565b820191906000526020600020905b8154815290600101906020018083116106b257829003601f168201915b5050505050905090565b6000806106e4610ac5565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a1906114ba565b60405180910390fd5b6107b78286868403610acd565b60019250505092915050565b6000806107ce610ac5565b90506107db818585610d24565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610875610ac5565b73ffffffffffffffffffffffffffffffffffffffff1661089361061d565b73ffffffffffffffffffffffffffffffffffffffff16146108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e09061145a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610959576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610950906113da565b60405180910390fd5b61096281610fa5565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc906114da565b60405180910390fd5b6109e16000838361106b565b80600260008282546109f3919061154c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a48919061154c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610aad91906114fa565b60405180910390a3610ac160008383611070565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b349061149a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906113fa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c8b91906114fa565b60405180910390a3505050565b6000610ca484846107e6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d1e5781811015610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d079061141a565b60405180910390fd5b610d1d8484848403610acd565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b9061147a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb906113ba565b60405180910390fd5b610e0f83838361106b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c9061143a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f28919061154c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f8c91906114fa565b60405180910390a3610f9f848484611070565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b6000813590506110848161196f565b92915050565b60008135905061109981611986565b92915050565b6000602082840312156110b157600080fd5b60006110bf84828501611075565b91505092915050565b600080604083850312156110db57600080fd5b60006110e985828601611075565b92505060206110fa85828601611075565b9150509250929050565b60008060006060848603121561111957600080fd5b600061112786828701611075565b935050602061113886828701611075565b92505060406111498682870161108a565b9150509250925092565b6000806040838503121561116657600080fd5b600061117485828601611075565b92505060206111858582860161108a565b9150509250929050565b611198816115a2565b82525050565b6111a7816115b4565b82525050565b60006111b882611530565b6111c2818561153b565b93506111d28185602086016115f7565b6111db816116ba565b840191505092915050565b60006111f360238361153b565b91506111fe826116cb565b604082019050919050565b600061121660268361153b565b91506112218261171a565b604082019050919050565b600061123960228361153b565b915061124482611769565b604082019050919050565b600061125c601d8361153b565b9150611267826117b8565b602082019050919050565b600061127f60268361153b565b915061128a826117e1565b604082019050919050565b60006112a260208361153b565b91506112ad82611830565b602082019050919050565b60006112c560258361153b565b91506112d082611859565b604082019050919050565b60006112e860248361153b565b91506112f3826118a8565b604082019050919050565b600061130b60258361153b565b9150611316826118f7565b604082019050919050565b600061132e601f8361153b565b915061133982611946565b602082019050919050565b61134d816115e0565b82525050565b61135c816115ea565b82525050565b6000602082019050611377600083018461118f565b92915050565b6000602082019050611392600083018461119e565b92915050565b600060208201905081810360008301526113b281846111ad565b905092915050565b600060208201905081810360008301526113d3816111e6565b9050919050565b600060208201905081810360008301526113f381611209565b9050919050565b600060208201905081810360008301526114138161122c565b9050919050565b600060208201905081810360008301526114338161124f565b9050919050565b6000602082019050818103600083015261145381611272565b9050919050565b6000602082019050818103600083015261147381611295565b9050919050565b60006020820190508181036000830152611493816112b8565b9050919050565b600060208201905081810360008301526114b3816112db565b9050919050565b600060208201905081810360008301526114d3816112fe565b9050919050565b600060208201905081810360008301526114f381611321565b9050919050565b600060208201905061150f6000830184611344565b92915050565b600060208201905061152a6000830184611353565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611557826115e0565b9150611562836115e0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115975761159661165c565b5b828201905092915050565b60006115ad826115c0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156116155780820151818401526020810190506115fa565b83811115611624576000848401525b50505050565b6000600282049050600182168061164257607f821691505b602082108114156116565761165561168b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611978816115a2565b811461198357600080fd5b50565b61198f816115e0565b811461199a57600080fd5b5056fea2646970667358221220db993fd4d85a55154527f57d0cf62d79fbbed547ef44b132ff6c0148e0a57d1664736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH2 0x10 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x4 CALLDATASIZE LT PUSH2 0xF5 JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x70A08231 GT PUSH2 0x97 JUMPI DUP1 PUSH4 0xA457C2D7 GT PUSH2 0x66 JUMPI DUP1 PUSH4 0xA457C2D7 EQ PUSH2 0x276 JUMPI DUP1 PUSH4 0xA9059CBB EQ PUSH2 0x2A6 JUMPI DUP1 PUSH4 0xDD62ED3E EQ PUSH2 0x2D6 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x306 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x70A08231 EQ PUSH2 0x200 JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x230 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x23A JUMPI DUP1 PUSH4 0x95D89B41 EQ PUSH2 0x258 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x23B872DD GT PUSH2 0xD3 JUMPI DUP1 PUSH4 0x23B872DD EQ PUSH2 0x166 JUMPI DUP1 PUSH4 0x313CE567 EQ PUSH2 0x196 JUMPI DUP1 PUSH4 0x39509351 EQ PUSH2 0x1B4 JUMPI DUP1 PUSH4 0x40C10F19 EQ PUSH2 0x1E4 JUMPI PUSH2 0xF5 JUMP JUMPDEST DUP1 PUSH4 0x6FDDE03 EQ PUSH2 0xFA JUMPI DUP1 PUSH4 0x95EA7B3 EQ PUSH2 0x118 JUMPI DUP1 PUSH4 0x18160DDD EQ PUSH2 0x148 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x102 PUSH2 0x322 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x10F SWAP2 SWAP1 PUSH2 0x1398 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x132 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x12D SWAP2 SWAP1 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x3B4 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x13F SWAP2 SWAP1 PUSH2 0x137D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x150 PUSH2 0x3D7 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x15D SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x180 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x17B SWAP2 SWAP1 PUSH2 0x1104 JUMP JUMPDEST PUSH2 0x3E1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x18D SWAP2 SWAP1 PUSH2 0x137D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x19E PUSH2 0x410 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AB SWAP2 SWAP1 PUSH2 0x1515 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1CE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1C9 SWAP2 SWAP1 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x419 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1DB SWAP2 SWAP1 PUSH2 0x137D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x1FE PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F9 SWAP2 SWAP1 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x4C3 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x21A PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x215 SWAP2 SWAP1 PUSH2 0x109F JUMP JUMPDEST PUSH2 0x54D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x227 SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x238 PUSH2 0x595 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x242 PUSH2 0x61D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x24F SWAP2 SWAP1 PUSH2 0x1362 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x260 PUSH2 0x647 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x26D SWAP2 SWAP1 PUSH2 0x1398 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x290 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x28B SWAP2 SWAP1 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x6D9 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x29D SWAP2 SWAP1 PUSH2 0x137D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2C0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2BB SWAP2 SWAP1 PUSH2 0x1153 JUMP JUMPDEST PUSH2 0x7C3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2CD SWAP2 SWAP1 PUSH2 0x137D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x2F0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2EB SWAP2 SWAP1 PUSH2 0x10C8 JUMP JUMPDEST PUSH2 0x7E6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2FD SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST PUSH2 0x320 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x31B SWAP2 SWAP1 PUSH2 0x109F JUMP JUMPDEST PUSH2 0x86D JUMP JUMPDEST STOP JUMPDEST PUSH1 0x60 PUSH1 0x3 DUP1 SLOAD PUSH2 0x331 SWAP1 PUSH2 0x162A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x35D SWAP1 PUSH2 0x162A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x3AA JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x37F JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x3AA JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x38D JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3BF PUSH2 0xAC5 JUMP JUMPDEST SWAP1 POP PUSH2 0x3CC DUP2 DUP6 DUP6 PUSH2 0xACD JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x3EC PUSH2 0xAC5 JUMP JUMPDEST SWAP1 POP PUSH2 0x3F9 DUP6 DUP3 DUP6 PUSH2 0xC98 JUMP JUMPDEST PUSH2 0x404 DUP6 DUP6 DUP6 PUSH2 0xD24 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x12 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x424 PUSH2 0xAC5 JUMP JUMPDEST SWAP1 POP PUSH2 0x4B8 DUP2 DUP6 DUP6 PUSH1 0x1 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP10 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD PUSH2 0x4B3 SWAP2 SWAP1 PUSH2 0x154C JUMP JUMPDEST PUSH2 0xACD JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x4CB PUSH2 0xAC5 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x4E9 PUSH2 0x61D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x53F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x536 SWAP1 PUSH2 0x145A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x549 DUP3 DUP3 PUSH2 0x965 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x59D PUSH2 0xAC5 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x5BB PUSH2 0x61D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x611 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x608 SWAP1 PUSH2 0x145A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x61B PUSH1 0x0 PUSH2 0xFA5 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x60 PUSH1 0x4 DUP1 SLOAD PUSH2 0x656 SWAP1 PUSH2 0x162A JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x682 SWAP1 PUSH2 0x162A JUMP JUMPDEST DUP1 ISZERO PUSH2 0x6CF JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x6A4 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x6CF JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x6B2 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x6E4 PUSH2 0xAC5 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP4 DUP2 LT ISZERO PUSH2 0x7AA JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x7A1 SWAP1 PUSH2 0x14BA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x7B7 DUP3 DUP7 DUP7 DUP5 SUB PUSH2 0xACD JUMP JUMPDEST PUSH1 0x1 SWAP3 POP POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0x7CE PUSH2 0xAC5 JUMP JUMPDEST SWAP1 POP PUSH2 0x7DB DUP2 DUP6 DUP6 PUSH2 0xD24 JUMP JUMPDEST PUSH1 0x1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x875 PUSH2 0xAC5 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x893 PUSH2 0x61D JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x8E9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8E0 SWAP1 PUSH2 0x145A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x959 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x950 SWAP1 PUSH2 0x13DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x962 DUP2 PUSH2 0xFA5 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x9D5 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x9CC SWAP1 PUSH2 0x14DA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x9E1 PUSH1 0x0 DUP4 DUP4 PUSH2 0x106B JUMP JUMPDEST DUP1 PUSH1 0x2 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0x9F3 SWAP2 SWAP1 PUSH2 0x154C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP1 PUSH1 0x0 DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xA48 SWAP2 SWAP1 PUSH2 0x154C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP4 PUSH1 0x40 MLOAD PUSH2 0xAAD SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xAC1 PUSH1 0x0 DUP4 DUP4 PUSH2 0x1070 JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xB3D JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xB34 SWAP1 PUSH2 0x149A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xBAD JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBA4 SWAP1 PUSH2 0x13FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8C5BE1E5EBEC7D5BD14F71427D1E84F3DD0314C0F7B2291E5B200AC8C7C3B925 DUP4 PUSH1 0x40 MLOAD PUSH2 0xC8B SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xCA4 DUP5 DUP5 PUSH2 0x7E6 JUMP JUMPDEST SWAP1 POP PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP2 EQ PUSH2 0xD1E JUMPI DUP2 DUP2 LT ISZERO PUSH2 0xD10 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD07 SWAP1 PUSH2 0x141A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xD1D DUP5 DUP5 DUP5 DUP5 SUB PUSH2 0xACD JUMP JUMPDEST JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xD94 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD8B SWAP1 PUSH2 0x147A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0xE04 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xDFB SWAP1 PUSH2 0x13BA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xE0F DUP4 DUP4 DUP4 PUSH2 0x106B JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 SLOAD SWAP1 POP DUP2 DUP2 LT ISZERO PUSH2 0xE95 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xE8C SWAP1 PUSH2 0x143A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 SUB PUSH1 0x0 DUP1 DUP7 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP2 SWAP1 SSTORE POP DUP2 PUSH1 0x0 DUP1 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 DUP3 SLOAD PUSH2 0xF28 SWAP2 SWAP1 PUSH2 0x154C JUMP JUMPDEST SWAP3 POP POP DUP2 SWAP1 SSTORE POP DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0xDDF252AD1BE2C89B69C2B068FC378DAA952BA7F163C4A11628F55A4DF523B3EF DUP5 PUSH1 0x40 MLOAD PUSH2 0xF8C SWAP2 SWAP1 PUSH2 0x14FA JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 PUSH2 0xF9F DUP5 DUP5 DUP5 PUSH2 0x1070 JUMP JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x5 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1084 DUP2 PUSH2 0x196F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x1099 DUP2 PUSH2 0x1986 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x10B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x10BF DUP5 DUP3 DUP6 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x10DB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x10E9 DUP6 DUP3 DUP7 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x10FA DUP6 DUP3 DUP7 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x1119 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1127 DUP7 DUP3 DUP8 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x1138 DUP7 DUP3 DUP8 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x1149 DUP7 DUP3 DUP8 ADD PUSH2 0x108A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x1166 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x1174 DUP6 DUP3 DUP7 ADD PUSH2 0x1075 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x1185 DUP6 DUP3 DUP7 ADD PUSH2 0x108A JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH2 0x1198 DUP2 PUSH2 0x15A2 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x11A7 DUP2 PUSH2 0x15B4 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11B8 DUP3 PUSH2 0x1530 JUMP JUMPDEST PUSH2 0x11C2 DUP2 DUP6 PUSH2 0x153B JUMP JUMPDEST SWAP4 POP PUSH2 0x11D2 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x15F7 JUMP JUMPDEST PUSH2 0x11DB DUP2 PUSH2 0x16BA JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x11F3 PUSH1 0x23 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x11FE DUP3 PUSH2 0x16CB JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1216 PUSH1 0x26 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x1221 DUP3 PUSH2 0x171A JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1239 PUSH1 0x22 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x1244 DUP3 PUSH2 0x1769 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x125C PUSH1 0x1D DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x1267 DUP3 PUSH2 0x17B8 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x127F PUSH1 0x26 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x128A DUP3 PUSH2 0x17E1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12A2 PUSH1 0x20 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x12AD DUP3 PUSH2 0x1830 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12C5 PUSH1 0x25 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x12D0 DUP3 PUSH2 0x1859 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12E8 PUSH1 0x24 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x12F3 DUP3 PUSH2 0x18A8 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x130B PUSH1 0x25 DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x1316 DUP3 PUSH2 0x18F7 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x132E PUSH1 0x1F DUP4 PUSH2 0x153B JUMP JUMPDEST SWAP2 POP PUSH2 0x1339 DUP3 PUSH2 0x1946 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x134D DUP2 PUSH2 0x15E0 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x135C DUP2 PUSH2 0x15EA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1377 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x118F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x1392 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x119E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13B2 DUP2 DUP5 PUSH2 0x11AD JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13D3 DUP2 PUSH2 0x11E6 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x13F3 DUP2 PUSH2 0x1209 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1413 DUP2 PUSH2 0x122C JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1433 DUP2 PUSH2 0x124F JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1453 DUP2 PUSH2 0x1272 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1473 DUP2 PUSH2 0x1295 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x1493 DUP2 PUSH2 0x12B8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14B3 DUP2 PUSH2 0x12DB JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14D3 DUP2 PUSH2 0x12FE JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x14F3 DUP2 PUSH2 0x1321 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x150F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1344 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x152A PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x1353 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1557 DUP3 PUSH2 0x15E0 JUMP JUMPDEST SWAP2 POP PUSH2 0x1562 DUP4 PUSH2 0x15E0 JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x1597 JUMPI PUSH2 0x1596 PUSH2 0x165C JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x15AD DUP3 PUSH2 0x15C0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x1615 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x15FA JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x1624 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x1642 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x1656 JUMPI PUSH2 0x1655 PUSH2 0x168B JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E7366657220746F20746865207A65726F2061646472 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6573730000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20617070726F766520746F20746865207A65726F206164647265 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7373000000000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20696E73756666696369656E7420616C6C6F77616E6365000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E7366657220616D6F756E7420657863656564732062 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x616C616E63650000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A207472616E736665722066726F6D20746865207A65726F206164 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6472657373000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A20617070726F76652066726F6D20746865207A65726F20616464 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7265737300000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A2064656372656173656420616C6C6F77616E63652062656C6F77 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x207A65726F000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x45524332303A206D696E7420746F20746865207A65726F206164647265737300 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH2 0x1978 DUP2 PUSH2 0x15A2 JUMP JUMPDEST DUP2 EQ PUSH2 0x1983 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x198F DUP2 PUSH2 0x15E0 JUMP JUMPDEST DUP2 EQ PUSH2 0x199A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0xDB SWAP10 EXTCODEHASH 0xD4 0xD8 GAS SSTORE ISZERO GASLIMIT 0x27 CREATE2 PUSH30 0xCF62D79FBBED547EF44B132FF6C0148E0A57D1664736F6C634300080400 CALLER ", + "sourceMap": "692:329:15:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4433:197;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3244:106;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5192:286;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3093:91;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5873:236;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;912:107:15;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3408:125:3;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:2;;;:::i;:::-;;1036:85;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2367:102:3;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6596:429;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3729:189;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3976:149;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:2;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2156:98:3;2210:13;2242:5;2235:12;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2156:98;:::o;4433:197::-;4516:4;4532:13;4548:12;:10;:12::i;:::-;4532:28;;4570:32;4579:5;4586:7;4595:6;4570:8;:32::i;:::-;4619:4;4612:11;;;4433:197;;;;:::o;3244:106::-;3305:7;3331:12;;3324:19;;3244:106;:::o;5192:286::-;5319:4;5335:15;5353:12;:10;:12::i;:::-;5335:30;;5375:38;5391:4;5397:7;5406:6;5375:15;:38::i;:::-;5423:27;5433:4;5439:2;5443:6;5423:9;:27::i;:::-;5467:4;5460:11;;;5192:286;;;;;:::o;3093:91::-;3151:5;3175:2;3168:9;;3093:91;:::o;5873:236::-;5961:4;5977:13;5993:12;:10;:12::i;:::-;5977:28;;6015:66;6024:5;6031:7;6070:10;6040:11;:18;6052:5;6040:18;;;;;;;;;;;;;;;:27;6059:7;6040:27;;;;;;;;;;;;;;;;:40;;;;:::i;:::-;6015:8;:66::i;:::-;6098:4;6091:11;;;5873:236;;;;:::o;912:107:15:-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;989:23:15::1;1001:2;1005:6;989:11;:23::i;:::-;912:107:::0;;:::o;3408:125:3:-;3482:7;3508:9;:18;3518:7;3508:18;;;;;;;;;;;;;;;;3501:25;;3408:125;;;:::o;1668:101:2:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1036:85::-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;2367:102:3:-;2423:13;2455:7;2448:14;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2367:102;:::o;6596:429::-;6689:4;6705:13;6721:12;:10;:12::i;:::-;6705:28;;6743:24;6770:11;:18;6782:5;6770:18;;;;;;;;;;;;;;;:27;6789:7;6770:27;;;;;;;;;;;;;;;;6743:54;;6835:15;6815:16;:35;;6807:85;;;;;;;;;;;;:::i;:::-;;;;;;;;;6926:60;6935:5;6942:7;6970:15;6951:16;:34;6926:8;:60::i;:::-;7014:4;7007:11;;;;6596:429;;;;:::o;3729:189::-;3808:4;3824:13;3840:12;:10;:12::i;:::-;3824:28;;3862;3872:5;3879:2;3883:6;3862:9;:28::i;:::-;3907:4;3900:11;;;3729:189;;;;:::o;3976:149::-;4065:7;4091:11;:18;4103:5;4091:18;;;;;;;;;;;;;;;:27;4110:7;4091:27;;;;;;;;;;;;;;;;4084:34;;3976:149;;;;:::o;1918:198:2:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;8415:389:3:-;8517:1;8498:21;;:7;:21;;;;8490:65;;;;;;;;;;;;:::i;:::-;;;;;;;;;8566:49;8595:1;8599:7;8608:6;8566:20;:49::i;:::-;8642:6;8626:12;;:22;;;;;;;:::i;:::-;;;;;;;;8680:6;8658:9;:18;8668:7;8658:18;;;;;;;;;;;;;;;;:28;;;;;;;:::i;:::-;;;;;;;;8722:7;8701:37;;8718:1;8701:37;;;8731:6;8701:37;;;;;;:::i;:::-;;;;;;;;8749:48;8777:1;8781:7;8790:6;8749:19;:48::i;:::-;8415:389;;:::o;640:96:8:-;693:7;719:10;712:17;;640:96;:::o;10123:370:3:-;10271:1;10254:19;;:5;:19;;;;10246:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10351:1;10332:21;;:7;:21;;;;10324:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;10433:6;10403:11;:18;10415:5;10403:18;;;;;;;;;;;;;;;:27;10422:7;10403:27;;;;;;;;;;;;;;;:36;;;;10470:7;10454:32;;10463:5;10454:32;;;10479:6;10454:32;;;;;;:::i;:::-;;;;;;;;10123:370;;;:::o;10770:441::-;10900:24;10927:25;10937:5;10944:7;10927:9;:25::i;:::-;10900:52;;10986:17;10966:16;:37;10962:243;;11047:6;11027:16;:26;;11019:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;11129:51;11138:5;11145:7;11173:6;11154:16;:25;11129:8;:51::i;:::-;10962:243;10770:441;;;;:::o;7488:651::-;7630:1;7614:18;;:4;:18;;;;7606:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7706:1;7692:16;;:2;:16;;;;7684:64;;;;;;;;;;;;:::i;:::-;;;;;;;;;7759:38;7780:4;7786:2;7790:6;7759:20;:38::i;:::-;7808:19;7830:9;:15;7840:4;7830:15;;;;;;;;;;;;;;;;7808:37;;7878:6;7863:11;:21;;7855:72;;;;;;;;;;;;:::i;:::-;;;;;;;;;7993:6;7979:11;:20;7961:9;:15;7971:4;7961:15;;;;;;;;;;;;;;;:38;;;;8036:6;8019:9;:13;8029:2;8019:13;;;;;;;;;;;;;;;;:23;;;;;;;:::i;:::-;;;;;;;;8073:2;8058:26;;8067:4;8058:26;;;8077:6;8058:26;;;;;;:::i;:::-;;;;;;;;8095:37;8115:4;8121:2;8125:6;8095:19;:37::i;:::-;7488:651;;;;:::o;2270:187:2:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2270:187;;:::o;11795:121:3:-;;;;:::o;12504:120::-;;;;:::o;7:139:17:-;53:5;91:6;78:20;69:29;;107:33;134:5;107:33;:::i;:::-;59:87;;;;:::o;152:139::-;198:5;236:6;223:20;214:29;;252:33;279:5;252:33;:::i;:::-;204:87;;;;:::o;297:262::-;356:6;405:2;393:9;384:7;380:23;376:32;373:2;;;421:1;418;411:12;373:2;464:1;489:53;534:7;525:6;514:9;510:22;489:53;:::i;:::-;479:63;;435:117;363:196;;;;:::o;565:407::-;633:6;641;690:2;678:9;669:7;665:23;661:32;658:2;;;706:1;703;696:12;658:2;749:1;774:53;819:7;810:6;799:9;795:22;774:53;:::i;:::-;764:63;;720:117;876:2;902:53;947:7;938:6;927:9;923:22;902:53;:::i;:::-;892:63;;847:118;648:324;;;;;:::o;978:552::-;1055:6;1063;1071;1120:2;1108:9;1099:7;1095:23;1091:32;1088:2;;;1136:1;1133;1126:12;1088:2;1179:1;1204:53;1249:7;1240:6;1229:9;1225:22;1204:53;:::i;:::-;1194:63;;1150:117;1306:2;1332:53;1377:7;1368:6;1357:9;1353:22;1332:53;:::i;:::-;1322:63;;1277:118;1434:2;1460:53;1505:7;1496:6;1485:9;1481:22;1460:53;:::i;:::-;1450:63;;1405:118;1078:452;;;;;:::o;1536:407::-;1604:6;1612;1661:2;1649:9;1640:7;1636:23;1632:32;1629:2;;;1677:1;1674;1667:12;1629:2;1720:1;1745:53;1790:7;1781:6;1770:9;1766:22;1745:53;:::i;:::-;1735:63;;1691:117;1847:2;1873:53;1918:7;1909:6;1898:9;1894:22;1873:53;:::i;:::-;1863:63;;1818:118;1619:324;;;;;:::o;1949:118::-;2036:24;2054:5;2036:24;:::i;:::-;2031:3;2024:37;2014:53;;:::o;2073:109::-;2154:21;2169:5;2154:21;:::i;:::-;2149:3;2142:34;2132:50;;:::o;2188:364::-;2276:3;2304:39;2337:5;2304:39;:::i;:::-;2359:71;2423:6;2418:3;2359:71;:::i;:::-;2352:78;;2439:52;2484:6;2479:3;2472:4;2465:5;2461:16;2439:52;:::i;:::-;2516:29;2538:6;2516:29;:::i;:::-;2511:3;2507:39;2500:46;;2280:272;;;;;:::o;2558:366::-;2700:3;2721:67;2785:2;2780:3;2721:67;:::i;:::-;2714:74;;2797:93;2886:3;2797:93;:::i;:::-;2915:2;2910:3;2906:12;2899:19;;2704:220;;;:::o;2930:366::-;3072:3;3093:67;3157:2;3152:3;3093:67;:::i;:::-;3086:74;;3169:93;3258:3;3169:93;:::i;:::-;3287:2;3282:3;3278:12;3271:19;;3076:220;;;:::o;3302:366::-;3444:3;3465:67;3529:2;3524:3;3465:67;:::i;:::-;3458:74;;3541:93;3630:3;3541:93;:::i;:::-;3659:2;3654:3;3650:12;3643:19;;3448:220;;;:::o;3674:366::-;3816:3;3837:67;3901:2;3896:3;3837:67;:::i;:::-;3830:74;;3913:93;4002:3;3913:93;:::i;:::-;4031:2;4026:3;4022:12;4015:19;;3820:220;;;:::o;4046:366::-;4188:3;4209:67;4273:2;4268:3;4209:67;:::i;:::-;4202:74;;4285:93;4374:3;4285:93;:::i;:::-;4403:2;4398:3;4394:12;4387:19;;4192:220;;;:::o;4418:366::-;4560:3;4581:67;4645:2;4640:3;4581:67;:::i;:::-;4574:74;;4657:93;4746:3;4657:93;:::i;:::-;4775:2;4770:3;4766:12;4759:19;;4564:220;;;:::o;4790:366::-;4932:3;4953:67;5017:2;5012:3;4953:67;:::i;:::-;4946:74;;5029:93;5118:3;5029:93;:::i;:::-;5147:2;5142:3;5138:12;5131:19;;4936:220;;;:::o;5162:366::-;5304:3;5325:67;5389:2;5384:3;5325:67;:::i;:::-;5318:74;;5401:93;5490:3;5401:93;:::i;:::-;5519:2;5514:3;5510:12;5503:19;;5308:220;;;:::o;5534:366::-;5676:3;5697:67;5761:2;5756:3;5697:67;:::i;:::-;5690:74;;5773:93;5862:3;5773:93;:::i;:::-;5891:2;5886:3;5882:12;5875:19;;5680:220;;;:::o;5906:366::-;6048:3;6069:67;6133:2;6128:3;6069:67;:::i;:::-;6062:74;;6145:93;6234:3;6145:93;:::i;:::-;6263:2;6258:3;6254:12;6247:19;;6052:220;;;:::o;6278:118::-;6365:24;6383:5;6365:24;:::i;:::-;6360:3;6353:37;6343:53;;:::o;6402:112::-;6485:22;6501:5;6485:22;:::i;:::-;6480:3;6473:35;6463:51;;:::o;6520:222::-;6613:4;6651:2;6640:9;6636:18;6628:26;;6664:71;6732:1;6721:9;6717:17;6708:6;6664:71;:::i;:::-;6618:124;;;;:::o;6748:210::-;6835:4;6873:2;6862:9;6858:18;6850:26;;6886:65;6948:1;6937:9;6933:17;6924:6;6886:65;:::i;:::-;6840:118;;;;:::o;6964:313::-;7077:4;7115:2;7104:9;7100:18;7092:26;;7164:9;7158:4;7154:20;7150:1;7139:9;7135:17;7128:47;7192:78;7265:4;7256:6;7192:78;:::i;:::-;7184:86;;7082:195;;;;:::o;7283:419::-;7449:4;7487:2;7476:9;7472:18;7464:26;;7536:9;7530:4;7526:20;7522:1;7511:9;7507:17;7500:47;7564:131;7690:4;7564:131;:::i;:::-;7556:139;;7454:248;;;:::o;7708:419::-;7874:4;7912:2;7901:9;7897:18;7889:26;;7961:9;7955:4;7951:20;7947:1;7936:9;7932:17;7925:47;7989:131;8115:4;7989:131;:::i;:::-;7981:139;;7879:248;;;:::o;8133:419::-;8299:4;8337:2;8326:9;8322:18;8314:26;;8386:9;8380:4;8376:20;8372:1;8361:9;8357:17;8350:47;8414:131;8540:4;8414:131;:::i;:::-;8406:139;;8304:248;;;:::o;8558:419::-;8724:4;8762:2;8751:9;8747:18;8739:26;;8811:9;8805:4;8801:20;8797:1;8786:9;8782:17;8775:47;8839:131;8965:4;8839:131;:::i;:::-;8831:139;;8729:248;;;:::o;8983:419::-;9149:4;9187:2;9176:9;9172:18;9164:26;;9236:9;9230:4;9226:20;9222:1;9211:9;9207:17;9200:47;9264:131;9390:4;9264:131;:::i;:::-;9256:139;;9154:248;;;:::o;9408:419::-;9574:4;9612:2;9601:9;9597:18;9589:26;;9661:9;9655:4;9651:20;9647:1;9636:9;9632:17;9625:47;9689:131;9815:4;9689:131;:::i;:::-;9681:139;;9579:248;;;:::o;9833:419::-;9999:4;10037:2;10026:9;10022:18;10014:26;;10086:9;10080:4;10076:20;10072:1;10061:9;10057:17;10050:47;10114:131;10240:4;10114:131;:::i;:::-;10106:139;;10004:248;;;:::o;10258:419::-;10424:4;10462:2;10451:9;10447:18;10439:26;;10511:9;10505:4;10501:20;10497:1;10486:9;10482:17;10475:47;10539:131;10665:4;10539:131;:::i;:::-;10531:139;;10429:248;;;:::o;10683:419::-;10849:4;10887:2;10876:9;10872:18;10864:26;;10936:9;10930:4;10926:20;10922:1;10911:9;10907:17;10900:47;10964:131;11090:4;10964:131;:::i;:::-;10956:139;;10854:248;;;:::o;11108:419::-;11274:4;11312:2;11301:9;11297:18;11289:26;;11361:9;11355:4;11351:20;11347:1;11336:9;11332:17;11325:47;11389:131;11515:4;11389:131;:::i;:::-;11381:139;;11279:248;;;:::o;11533:222::-;11626:4;11664:2;11653:9;11649:18;11641:26;;11677:71;11745:1;11734:9;11730:17;11721:6;11677:71;:::i;:::-;11631:124;;;;:::o;11761:214::-;11850:4;11888:2;11877:9;11873:18;11865:26;;11901:67;11965:1;11954:9;11950:17;11941:6;11901:67;:::i;:::-;11855:120;;;;:::o;11981:99::-;12033:6;12067:5;12061:12;12051:22;;12040:40;;;:::o;12086:169::-;12170:11;12204:6;12199:3;12192:19;12244:4;12239:3;12235:14;12220:29;;12182:73;;;;:::o;12261:305::-;12301:3;12320:20;12338:1;12320:20;:::i;:::-;12315:25;;12354:20;12372:1;12354:20;:::i;:::-;12349:25;;12508:1;12440:66;12436:74;12433:1;12430:81;12427:2;;;12514:18;;:::i;:::-;12427:2;12558:1;12555;12551:9;12544:16;;12305:261;;;;:::o;12572:96::-;12609:7;12638:24;12656:5;12638:24;:::i;:::-;12627:35;;12617:51;;;:::o;12674:90::-;12708:7;12751:5;12744:13;12737:21;12726:32;;12716:48;;;:::o;12770:126::-;12807:7;12847:42;12840:5;12836:54;12825:65;;12815:81;;;:::o;12902:77::-;12939:7;12968:5;12957:16;;12947:32;;;:::o;12985:86::-;13020:7;13060:4;13053:5;13049:16;13038:27;;13028:43;;;:::o;13077:307::-;13145:1;13155:113;13169:6;13166:1;13163:13;13155:113;;;13254:1;13249:3;13245:11;13239:18;13235:1;13230:3;13226:11;13219:39;13191:2;13188:1;13184:10;13179:15;;13155:113;;;13286:6;13283:1;13280:13;13277:2;;;13366:1;13357:6;13352:3;13348:16;13341:27;13277:2;13126:258;;;;:::o;13390:320::-;13434:6;13471:1;13465:4;13461:12;13451:22;;13518:1;13512:4;13508:12;13539:18;13529:2;;13595:4;13587:6;13583:17;13573:27;;13529:2;13657;13649:6;13646:14;13626:18;13623:38;13620:2;;;13676:18;;:::i;:::-;13620:2;13441:269;;;;:::o;13716:180::-;13764:77;13761:1;13754:88;13861:4;13858:1;13851:15;13885:4;13882:1;13875:15;13902:180;13950:77;13947:1;13940:88;14047:4;14044:1;14037:15;14071:4;14068:1;14061:15;14088:102;14129:6;14180:2;14176:7;14171:2;14164:5;14160:14;14156:28;14146:38;;14136:54;;;:::o;14196:222::-;14336:34;14332:1;14324:6;14320:14;14313:58;14405:5;14400:2;14392:6;14388:15;14381:30;14302:116;:::o;14424:225::-;14564:34;14560:1;14552:6;14548:14;14541:58;14633:8;14628:2;14620:6;14616:15;14609:33;14530:119;:::o;14655:221::-;14795:34;14791:1;14783:6;14779:14;14772:58;14864:4;14859:2;14851:6;14847:15;14840:29;14761:115;:::o;14882:179::-;15022:31;15018:1;15010:6;15006:14;14999:55;14988:73;:::o;15067:225::-;15207:34;15203:1;15195:6;15191:14;15184:58;15276:8;15271:2;15263:6;15259:15;15252:33;15173:119;:::o;15298:182::-;15438:34;15434:1;15426:6;15422:14;15415:58;15404:76;:::o;15486:224::-;15626:34;15622:1;15614:6;15610:14;15603:58;15695:7;15690:2;15682:6;15678:15;15671:32;15592:118;:::o;15716:223::-;15856:34;15852:1;15844:6;15840:14;15833:58;15925:6;15920:2;15912:6;15908:15;15901:31;15822:117;:::o;15945:224::-;16085:34;16081:1;16073:6;16069:14;16062:58;16154:7;16149:2;16141:6;16137:15;16130:32;16051:118;:::o;16175:181::-;16315:33;16311:1;16303:6;16299:14;16292:57;16281:75;:::o;16362:122::-;16435:24;16453:5;16435:24;:::i;:::-;16428:5;16425:35;16415:2;;16474:1;16471;16464:12;16415:2;16405:79;:::o;16490:122::-;16563:24;16581:5;16563:24;:::i;:::-;16556:5;16553:35;16543:2;;16602:1;16599;16592:12;16543:2;16533:79;:::o" + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "decimals()": "313ce567", + "decreaseAllowance(address,uint256)": "a457c2d7", + "increaseAllowance(address,uint256)": "39509351", + "mint(address,uint256)": "40c10f19", + "name()": "06fdde03", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "symbol()": "95d89b41", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"string\",\"name\":\"name_\",\"type\":\"string\"},{\"internalType\":\"string\",\"name\":\"symbol_\",\"type\":\"string\"},{\"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\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"decimals\",\"outputs\":[{\"internalType\":\"uint8\",\"name\":\"\",\"type\":\"uint8\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"subtractedValue\",\"type\":\"uint256\"}],\"name\":\"decreaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"addedValue\",\"type\":\"uint256\"}],\"name\":\"increaseAllowance\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"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\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"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\":\"amount\",\"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\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"allowance(address,address)\":{\"details\":\"See {IERC20-allowance}.\"},\"approve(address,uint256)\":{\"details\":\"See {IERC20-approve}. NOTE: If `amount` 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\":\"See {IERC20-balanceOf}.\"},\"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 value {ERC20} uses, unless this function is 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}.\"},\"decreaseAllowance(address,uint256)\":{\"details\":\"Atomically decreases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address. - `spender` must have allowance for the caller of at least `subtractedValue`.\"},\"increaseAllowance(address,uint256)\":{\"details\":\"Atomically increases the allowance granted to `spender` by the caller. This is an alternative to {approve} that can be used as a mitigation for problems described in {IERC20-approve}. Emits an {Approval} event indicating the updated allowance. Requirements: - `spender` cannot be the zero address.\"},\"name()\":{\"details\":\"Returns the name of the token.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"symbol()\":{\"details\":\"Returns the symbol of the token, usually a shorter version of the name.\"},\"totalSupply()\":{\"details\":\"See {IERC20-totalSupply}.\"},\"transfer(address,uint256)\":{\"details\":\"See {IERC20-transfer}. Requirements: - `to` cannot be the zero address. - the caller must have a balance of at least `amount`.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"See {IERC20-transferFrom}. Emits an {Approval} event indicating the updated allowance. This is not required by the EIP. See the note at the beginning of {ERC20}. 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 `amount`. - the caller must have allowance for ``from``'s tokens of at least `amount`.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/erc20/ERC20Sample.sol\":\"ERC20Sample\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/token/ERC20/ERC20.sol\":{\"keccak256\":\"0xdadd41acb749920eccf40aeaa8d291adf9751399a7343561bad13e7a8d99be0b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://12af4ac016f9fdf3be5d15824f4292272aa11f6b2e0192a0f7320f5ad49bbbf0\",\"dweb:/ipfs/QmRXMpdqCgA3TYuYxBodqs5p9jGbnMW6xa2gvjppvq4TWk\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/erc20/ERC20Sample.sol\":{\"keccak256\":\"0xf20f193aa05db5462b912154cc4c8c2b2fcbc48de8ed0d0d6554d2cd1af7e4c8\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://4b239832bc8369493bb59650547baed8c75670ae147b1889d3c8a43355e8fa37\",\"dweb:/ipfs/QmSbkR4hbpTc7cFgvX4UiDSk9yCwkrCHBze9v3kcRMcFRB\"]}},\"version\":1}" + } + }, + "hardhat/console.sol": { + "console": { + "abi": [], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201066baf0131e6eab0b5e9cc6cb6d59b6b1ce6f56164f850f45f0e1316d420ed964736f6c63430008040033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LT PUSH7 0xBAF0131E6EAB0B 0x5E SWAP13 0xC6 0xCB PUSH14 0x59B6B1CE6F56164F850F45F0E131 PUSH14 0x420ED964736F6C63430008040033 ", + "sourceMap": "67:61980:16:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201066baf0131e6eab0b5e9cc6cb6d59b6b1ce6f56164f850f45f0e1316d420ed964736f6c63430008040033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LT PUSH7 0xBAF0131E6EAB0B 0x5E SWAP13 0xC6 0xCB PUSH14 0x59B6B1CE6F56164F850F45F0E131 PUSH14 0x420ED964736F6C63430008040033 ", + "sourceMap": "67:61980:16:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"hardhat/console.sol\":\"console\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"hardhat/console.sol\":{\"keccak256\":\"0x72b6a1d297cd3b033d7c2e4a7e7864934bb767db6453623f1c3082c6534547f4\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a8cb8681076e765c214e0d51cac989325f6b98e315eaae06ee0cbd5a9f084763\",\"dweb:/ipfs/QmNWGHi4zmjxQTYN3NMGnJd49jBT5dE4bxTdWEaDuJrC6N\"]}},\"version\":1}" + } + } + }, + "sources": { + "@openzeppelin/contracts/access/AccessControl.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", + "exportedSymbols": { + "AccessControl": [ + 308 + ], + "Context": [ + 1346 + ], + "ERC165": [ + 1647 + ], + "IAccessControl": [ + 381 + ], + "IERC165": [ + 1659 + ], + "Strings": [ + 1623 + ] + }, + "id": 309, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "108:23:0" + }, + { + "absolutePath": "@openzeppelin/contracts/access/IAccessControl.sol", + "file": "./IAccessControl.sol", + "id": 2, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 309, + "sourceUnit": 382, + "src": "133:30:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 309, + "sourceUnit": 1347, + "src": "164:30:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", + "file": "../utils/Strings.sol", + "id": 4, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 309, + "sourceUnit": 1624, + "src": "195:30:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "file": "../utils/introspection/ERC165.sol", + "id": 5, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 309, + "sourceUnit": 1648, + "src": "226:43:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 7, + "name": "Context", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1346, + "src": "1841:7:0" + }, + "id": 8, + "nodeType": "InheritanceSpecifier", + "src": "1841:7:0" + }, + { + "baseName": { + "id": 9, + "name": "IAccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 381, + "src": "1850:14:0" + }, + "id": 10, + "nodeType": "InheritanceSpecifier", + "src": "1850:14:0" + }, + { + "baseName": { + "id": 11, + "name": "ERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1647, + "src": "1866:6:0" + }, + "id": 12, + "nodeType": "InheritanceSpecifier", + "src": "1866:6:0" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 6, + "nodeType": "StructuredDocumentation", + "src": "271:1534:0", + "text": " @dev Contract module that allows children to implement role-based access\n control mechanisms. This is a lightweight version that doesn't allow enumerating role\n members except through off-chain means by accessing the contract event logs. Some\n applications may benefit from on-chain enumerability, for those cases see\n {AccessControlEnumerable}.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```\n function foo() public {\n require(hasRole(MY_ROLE, msg.sender));\n ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it." + }, + "fullyImplemented": true, + "id": 308, + "linearizedBaseContracts": [ + 308, + 1647, + 1659, + 381, + 1346 + ], + "name": "AccessControl", + "nameLocation": "1824:13:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "AccessControl.RoleData", + "id": 19, + "members": [ + { + "constant": false, + "id": 16, + "mutability": "mutable", + "name": "members", + "nameLocation": "1930:7:0", + "nodeType": "VariableDeclaration", + "scope": 19, + "src": "1905:32:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 15, + "keyType": { + "id": 13, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1905:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 14, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1924:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18, + "mutability": "mutable", + "name": "adminRole", + "nameLocation": "1955:9:0", + "nodeType": "VariableDeclaration", + "scope": 19, + "src": "1947:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1947:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "name": "RoleData", + "nameLocation": "1886:8:0", + "nodeType": "StructDefinition", + "scope": 308, + "src": "1879:92:0", + "visibility": "public" + }, + { + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "_roles", + "nameLocation": "2014:6:0", + "nodeType": "VariableDeclaration", + "scope": 308, + "src": "1977:43:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" + }, + "typeName": { + "id": 23, + "keyType": { + "id": 20, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1985:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1977:28:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" + }, + "valueType": { + "id": 22, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 21, + "name": "RoleData", + "nodeType": "IdentifierPath", + "referencedDeclaration": 19, + "src": "1996:8:0" + }, + "referencedDeclaration": 19, + "src": "1996:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage_ptr", + "typeString": "struct AccessControl.RoleData" + } + } + }, + "visibility": "private" + }, + { + "constant": true, + "functionSelector": "a217fddf", + "id": 27, + "mutability": "constant", + "name": "DEFAULT_ADMIN_ROLE", + "nameLocation": "2051:18:0", + "nodeType": "VariableDeclaration", + "scope": 308, + "src": "2027:49:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2027:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "30783030", + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2072:4:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "visibility": "public" + }, + { + "body": { + "id": 39, + "nodeType": "Block", + "src": "2495:58:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 33, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "2516:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "2522:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 35, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2522:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 32, + "name": "_checkRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "2505:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) view" + } + }, + "id": 36, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2505:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 37, + "nodeType": "ExpressionStatement", + "src": "2505:30:0" + }, + { + "id": 38, + "nodeType": "PlaceholderStatement", + "src": "2545:1:0" + } + ] + }, + "documentation": { + "id": 28, + "nodeType": "StructuredDocumentation", + "src": "2083:375:0", + "text": " @dev Modifier that checks that an account has a specific role. Reverts\n with a standardized message including the required role.\n The format of the revert reason is given by the following regular expression:\n /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n _Available since v4.1._" + }, + "id": 40, + "name": "onlyRole", + "nameLocation": "2472:8:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 31, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30, + "mutability": "mutable", + "name": "role", + "nameLocation": "2489:4:0", + "nodeType": "VariableDeclaration", + "scope": 40, + "src": "2481:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2481:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2480:14:0" + }, + "src": "2463:90:0", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 1646 + ], + "body": { + "id": 61, + "nodeType": "Block", + "src": "2711:111:0", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 49, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "2728:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 51, + "name": "IAccessControl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "2748:14:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAccessControl_$381_$", + "typeString": "type(contract IAccessControl)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IAccessControl_$381_$", + "typeString": "type(contract IAccessControl)" + } + ], + "id": 50, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "2743:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2743:20:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IAccessControl_$381", + "typeString": "type(contract IAccessControl)" + } + }, + "id": 53, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "2743:32:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "2728:47:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 57, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "2803:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 55, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2779:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_AccessControl_$308_$", + "typeString": "type(contract super AccessControl)" + } + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 1646, + "src": "2779:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2779:36:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2728:87:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 48, + "id": 60, + "nodeType": "Return", + "src": "2721:94:0" + } + ] + }, + "documentation": { + "id": 41, + "nodeType": "StructuredDocumentation", + "src": "2559:56:0", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 62, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "2629:17:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 45, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2687:8:0" + }, + "parameters": { + "id": 44, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "2654:11:0", + "nodeType": "VariableDeclaration", + "scope": 62, + "src": "2647:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 42, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2647:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "2646:20:0" + }, + "returnParameters": { + "id": 48, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 47, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 62, + "src": "2705:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 46, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2705:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2704:6:0" + }, + "scope": 308, + "src": "2620:202:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 348 + ], + "body": { + "id": 80, + "nodeType": "Block", + "src": "3001:53:0", + "statements": [ + { + "expression": { + "baseExpression": { + "expression": { + "baseExpression": { + "id": 73, + "name": "_roles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "3018:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" + } + }, + "id": 75, + "indexExpression": { + "id": 74, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "3025:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3018:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage", + "typeString": "struct AccessControl.RoleData storage ref" + } + }, + "id": 76, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3018:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 78, + "indexExpression": { + "id": 77, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "3039:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3018:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 72, + "id": 79, + "nodeType": "Return", + "src": "3011:36:0" + } + ] + }, + "documentation": { + "id": 63, + "nodeType": "StructuredDocumentation", + "src": "2828:76:0", + "text": " @dev Returns `true` if `account` has been granted `role`." + }, + "functionSelector": "91d14854", + "id": 81, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasRole", + "nameLocation": "2918:7:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 69, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2977:8:0" + }, + "parameters": { + "id": 68, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 65, + "mutability": "mutable", + "name": "role", + "nameLocation": "2934:4:0", + "nodeType": "VariableDeclaration", + "scope": 81, + "src": "2926:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 64, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2926:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 67, + "mutability": "mutable", + "name": "account", + "nameLocation": "2948:7:0", + "nodeType": "VariableDeclaration", + "scope": 81, + "src": "2940:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 66, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2940:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2925:31:0" + }, + "returnParameters": { + "id": 72, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 71, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 81, + "src": "2995:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 70, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2995:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2994:6:0" + }, + "scope": 308, + "src": "2909:145:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 123, + "nodeType": "Block", + "src": "3408:419:0", + "statements": [ + { + "condition": { + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3422:23:0", + "subExpression": { + "arguments": [ + { + "id": 90, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "3431:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 91, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86, + "src": "3437:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 89, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "3423:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 92, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3423:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 122, + "nodeType": "IfStatement", + "src": "3418:403:0", + "trueBody": { + "id": 121, + "nodeType": "Block", + "src": "3447:374:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "id": 99, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3555:25:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "typeString": "literal_string \"AccessControl: account \"" + }, + "value": "AccessControl: account " + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 104, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86, + "src": "3634:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3626:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 102, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "3626:7:0", + "typeDescriptions": {} + } + }, + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3626:16:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "hexValue": "3230", + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3644:2:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + } + ], + "expression": { + "id": 100, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1623, + "src": "3606:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Strings_$1623_$", + "typeString": "type(library Strings)" + } + }, + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toHexString", + "nodeType": "MemberAccess", + "referencedDeclaration": 1622, + "src": "3606:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3606:41:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3673:19:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "typeString": "literal_string \" is missing role \"" + }, + "value": " is missing role " + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 113, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "3746:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3738:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 111, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3738:7:0", + "typeDescriptions": {} + } + }, + "id": 114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3738:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3332", + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3753:2:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "expression": { + "id": 109, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1623, + "src": "3718:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Strings_$1623_$", + "typeString": "type(library Strings)" + } + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toHexString", + "nodeType": "MemberAccess", + "referencedDeclaration": 1622, + "src": "3718:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3718:38:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "typeString": "literal_string \"AccessControl: account \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "typeString": "literal_string \" is missing role \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 97, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3513:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 98, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3513:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3513:265:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3485:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 95, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3485:6:0", + "typeDescriptions": {} + } + }, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3485:311:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 94, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "3461:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3461:349:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120, + "nodeType": "ExpressionStatement", + "src": "3461:349:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 82, + "nodeType": "StructuredDocumentation", + "src": "3060:270:0", + "text": " @dev Revert with a standard message if `account` is missing `role`.\n The format of the revert reason is given by the following regular expression:\n /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/" + }, + "id": 124, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkRole", + "nameLocation": "3344:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 87, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 84, + "mutability": "mutable", + "name": "role", + "nameLocation": "3363:4:0", + "nodeType": "VariableDeclaration", + "scope": 124, + "src": "3355:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 83, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3355:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 86, + "mutability": "mutable", + "name": "account", + "nameLocation": "3377:7:0", + "nodeType": "VariableDeclaration", + "scope": 124, + "src": "3369:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 85, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3369:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3354:31:0" + }, + "returnParameters": { + "id": 88, + "nodeType": "ParameterList", + "parameters": [], + "src": "3408:0:0" + }, + "scope": 308, + "src": "3335:492:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 356 + ], + "body": { + "id": 138, + "nodeType": "Block", + "src": "4091:46:0", + "statements": [ + { + "expression": { + "expression": { + "baseExpression": { + "id": 133, + "name": "_roles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "4108:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" + } + }, + "id": 135, + "indexExpression": { + "id": 134, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 127, + "src": "4115:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4108:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage", + "typeString": "struct AccessControl.RoleData storage ref" + } + }, + "id": 136, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "adminRole", + "nodeType": "MemberAccess", + "referencedDeclaration": 18, + "src": "4108:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 132, + "id": 137, + "nodeType": "Return", + "src": "4101:29:0" + } + ] + }, + "documentation": { + "id": 125, + "nodeType": "StructuredDocumentation", + "src": "3833:170:0", + "text": " @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}." + }, + "functionSelector": "248a9ca3", + "id": 139, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRoleAdmin", + "nameLocation": "4017:12:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 129, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4064:8:0" + }, + "parameters": { + "id": 128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 127, + "mutability": "mutable", + "name": "role", + "nameLocation": "4038:4:0", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "4030:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 126, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4030:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4029:14:0" + }, + "returnParameters": { + "id": 132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 131, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "4082:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 130, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4082:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4081:9:0" + }, + "scope": 308, + "src": "4008:129:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 364 + ], + "body": { + "id": 158, + "nodeType": "Block", + "src": "4490:42:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 154, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "4511:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 155, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "4517:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 153, + "name": "_grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "4500:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4500:25:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 157, + "nodeType": "ExpressionStatement", + "src": "4500:25:0" + } + ] + }, + "documentation": { + "id": 140, + "nodeType": "StructuredDocumentation", + "src": "4143:239:0", + "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role." + }, + "functionSelector": "2f2ff15d", + "id": 159, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 149, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "4483:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 148, + "name": "getRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "4470:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4470:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 151, + "kind": "modifierInvocation", + "modifierName": { + "id": 147, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "4461:8:0" + }, + "nodeType": "ModifierInvocation", + "src": "4461:28:0" + } + ], + "name": "grantRole", + "nameLocation": "4396:9:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 146, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4452:8:0" + }, + "parameters": { + "id": 145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 142, + "mutability": "mutable", + "name": "role", + "nameLocation": "4414:4:0", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "4406:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 141, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4406:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 144, + "mutability": "mutable", + "name": "account", + "nameLocation": "4428:7:0", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "4420:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4420:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4405:31:0" + }, + "returnParameters": { + "id": 152, + "nodeType": "ParameterList", + "parameters": [], + "src": "4490:0:0" + }, + "scope": 308, + "src": "4387:145:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 372 + ], + "body": { + "id": 178, + "nodeType": "Block", + "src": "4870:43:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 174, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "4892:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 175, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "4898:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 173, + "name": "_revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "4880:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4880:26:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 177, + "nodeType": "ExpressionStatement", + "src": "4880:26:0" + } + ] + }, + "documentation": { + "id": 160, + "nodeType": "StructuredDocumentation", + "src": "4538:223:0", + "text": " @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role." + }, + "functionSelector": "d547741f", + "id": 179, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 169, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "4863:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 168, + "name": "getRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "4850:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4850:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 171, + "kind": "modifierInvocation", + "modifierName": { + "id": 167, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "4841:8:0" + }, + "nodeType": "ModifierInvocation", + "src": "4841:28:0" + } + ], + "name": "revokeRole", + "nameLocation": "4775:10:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 166, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4832:8:0" + }, + "parameters": { + "id": 165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 162, + "mutability": "mutable", + "name": "role", + "nameLocation": "4794:4:0", + "nodeType": "VariableDeclaration", + "scope": 179, + "src": "4786:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 161, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4786:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 164, + "mutability": "mutable", + "name": "account", + "nameLocation": "4808:7:0", + "nodeType": "VariableDeclaration", + "scope": 179, + "src": "4800:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4800:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4785:31:0" + }, + "returnParameters": { + "id": 172, + "nodeType": "ParameterList", + "parameters": [], + "src": "4870:0:0" + }, + "scope": 308, + "src": "4766:147:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 380 + ], + "body": { + "id": 201, + "nodeType": "Block", + "src": "5481:137:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 189, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "5499:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 190, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "5510:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5510:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5499:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66", + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5524:49:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "typeString": "literal_string \"AccessControl: can only renounce roles for self\"" + }, + "value": "AccessControl: can only renounce roles for self" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "typeString": "literal_string \"AccessControl: can only renounce roles for self\"" + } + ], + "id": 188, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5491:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5491:83:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 195, + "nodeType": "ExpressionStatement", + "src": "5491:83:0" + }, + { + "expression": { + "arguments": [ + { + "id": 197, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 182, + "src": "5597:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 198, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "5603:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 196, + "name": "_revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "5585:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5585:26:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 200, + "nodeType": "ExpressionStatement", + "src": "5585:26:0" + } + ] + }, + "documentation": { + "id": 180, + "nodeType": "StructuredDocumentation", + "src": "4919:480:0", + "text": " @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been revoked `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`." + }, + "functionSelector": "36568abe", + "id": 202, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "renounceRole", + "nameLocation": "5413:12:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 186, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5472:8:0" + }, + "parameters": { + "id": 185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 182, + "mutability": "mutable", + "name": "role", + "nameLocation": "5434:4:0", + "nodeType": "VariableDeclaration", + "scope": 202, + "src": "5426:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 181, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5426:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 184, + "mutability": "mutable", + "name": "account", + "nameLocation": "5448:7:0", + "nodeType": "VariableDeclaration", + "scope": 202, + "src": "5440:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 183, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5425:31:0" + }, + "returnParameters": { + "id": 187, + "nodeType": "ParameterList", + "parameters": [], + "src": "5481:0:0" + }, + "scope": 308, + "src": "5404:214:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 215, + "nodeType": "Block", + "src": "6325:42:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 211, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "6346:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 212, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 207, + "src": "6352:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 210, + "name": "_grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "6335:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6335:25:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 214, + "nodeType": "ExpressionStatement", + "src": "6335:25:0" + } + ] + }, + "documentation": { + "id": 203, + "nodeType": "StructuredDocumentation", + "src": "5624:628:0", + "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event. Note that unlike {grantRole}, this function doesn't perform any\n checks on the calling account.\n [WARNING]\n ====\n This function should only be called from the constructor when setting\n up the initial roles for the system.\n Using this function in any other way is effectively circumventing the admin\n system imposed by {AccessControl}.\n ====\n NOTE: This function is deprecated in favor of {_grantRole}." + }, + "id": 216, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setupRole", + "nameLocation": "6266:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 205, + "mutability": "mutable", + "name": "role", + "nameLocation": "6285:4:0", + "nodeType": "VariableDeclaration", + "scope": 216, + "src": "6277:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 204, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6277:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "account", + "nameLocation": "6299:7:0", + "nodeType": "VariableDeclaration", + "scope": 216, + "src": "6291:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 206, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6291:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6276:31:0" + }, + "returnParameters": { + "id": 209, + "nodeType": "ParameterList", + "parameters": [], + "src": "6325:0:0" + }, + "scope": 308, + "src": "6257:110:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 243, + "nodeType": "Block", + "src": "6565:174:0", + "statements": [ + { + "assignments": [ + 225 + ], + "declarations": [ + { + "constant": false, + "id": 225, + "mutability": "mutable", + "name": "previousAdminRole", + "nameLocation": "6583:17:0", + "nodeType": "VariableDeclaration", + "scope": 243, + "src": "6575:25:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6575:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 229, + "initialValue": { + "arguments": [ + { + "id": 227, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "6616:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 226, + "name": "getRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "6603:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6603:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6575:46:0" + }, + { + "expression": { + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 230, + "name": "_roles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "6631:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" + } + }, + "id": 232, + "indexExpression": { + "id": 231, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "6638:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6631:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage", + "typeString": "struct AccessControl.RoleData storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "adminRole", + "nodeType": "MemberAccess", + "referencedDeclaration": 18, + "src": "6631:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 234, + "name": "adminRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 221, + "src": "6656:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6631:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 236, + "nodeType": "ExpressionStatement", + "src": "6631:34:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 238, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "6697:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 239, + "name": "previousAdminRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "6703:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 240, + "name": "adminRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 221, + "src": "6722:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 237, + "name": "RoleAdminChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "6680:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32,bytes32)" + } + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6680:52:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 242, + "nodeType": "EmitStatement", + "src": "6675:57:0" + } + ] + }, + "documentation": { + "id": 217, + "nodeType": "StructuredDocumentation", + "src": "6373:114:0", + "text": " @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event." + }, + "id": 244, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setRoleAdmin", + "nameLocation": "6501:13:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 222, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 219, + "mutability": "mutable", + "name": "role", + "nameLocation": "6523:4:0", + "nodeType": "VariableDeclaration", + "scope": 244, + "src": "6515:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6515:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 221, + "mutability": "mutable", + "name": "adminRole", + "nameLocation": "6537:9:0", + "nodeType": "VariableDeclaration", + "scope": 244, + "src": "6529:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 220, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6529:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6514:33:0" + }, + "returnParameters": { + "id": 223, + "nodeType": "ParameterList", + "parameters": [], + "src": "6565:0:0" + }, + "scope": 308, + "src": "6492:247:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 275, + "nodeType": "Block", + "src": "6929:165:0", + "statements": [ + { + "condition": { + "id": 256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6943:23:0", + "subExpression": { + "arguments": [ + { + "id": 253, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "6952:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 254, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 249, + "src": "6958:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 252, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "6944:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6944:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 274, + "nodeType": "IfStatement", + "src": "6939:149:0", + "trueBody": { + "id": 273, + "nodeType": "Block", + "src": "6968:120:0", + "statements": [ + { + "expression": { + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "baseExpression": { + "id": 257, + "name": "_roles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "6982:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" + } + }, + "id": 259, + "indexExpression": { + "id": 258, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "6989:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6982:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage", + "typeString": "struct AccessControl.RoleData storage ref" + } + }, + "id": 260, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "6982:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 262, + "indexExpression": { + "id": 261, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 249, + "src": "7003:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6982:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7014:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6982:36:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 265, + "nodeType": "ExpressionStatement", + "src": "6982:36:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 267, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "7049:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 268, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 249, + "src": "7055:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 269, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "7064:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7064:12:0", + "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" + } + ], + "id": 266, + "name": "RoleGranted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "7037:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", + "typeString": "function (bytes32,address,address)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7037:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 272, + "nodeType": "EmitStatement", + "src": "7032:45:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 245, + "nodeType": "StructuredDocumentation", + "src": "6745:111:0", + "text": " @dev Grants `role` to `account`.\n Internal function without access restriction." + }, + "id": 276, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_grantRole", + "nameLocation": "6870:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 247, + "mutability": "mutable", + "name": "role", + "nameLocation": "6889:4:0", + "nodeType": "VariableDeclaration", + "scope": 276, + "src": "6881:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 246, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6881:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 249, + "mutability": "mutable", + "name": "account", + "nameLocation": "6903:7:0", + "nodeType": "VariableDeclaration", + "scope": 276, + "src": "6895:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6895:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6880:31:0" + }, + "returnParameters": { + "id": 251, + "nodeType": "ParameterList", + "parameters": [], + "src": "6929:0:0" + }, + "scope": 308, + "src": "6861:233:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 306, + "nodeType": "Block", + "src": "7288:165:0", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 285, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "7310:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 286, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "7316:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 284, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "7302:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7302:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 305, + "nodeType": "IfStatement", + "src": "7298:149:0", + "trueBody": { + "id": 304, + "nodeType": "Block", + "src": "7326:121:0", + "statements": [ + { + "expression": { + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "baseExpression": { + "id": 288, + "name": "_roles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "7340:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" + } + }, + "id": 290, + "indexExpression": { + "id": 289, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "7347:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7340:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage", + "typeString": "struct AccessControl.RoleData storage ref" + } + }, + "id": 291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "7340:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 293, + "indexExpression": { + "id": 292, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "7361:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7340:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7372:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "7340:37:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 296, + "nodeType": "ExpressionStatement", + "src": "7340:37:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 298, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "7408:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 299, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "7414:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 300, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "7423:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7423:12:0", + "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" + } + ], + "id": 297, + "name": "RoleRevoked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 338, + "src": "7396:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", + "typeString": "function (bytes32,address,address)" + } + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7396:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 303, + "nodeType": "EmitStatement", + "src": "7391:45:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 277, + "nodeType": "StructuredDocumentation", + "src": "7100:114:0", + "text": " @dev Revokes `role` from `account`.\n Internal function without access restriction." + }, + "id": 307, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_revokeRole", + "nameLocation": "7228:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 279, + "mutability": "mutable", + "name": "role", + "nameLocation": "7248:4:0", + "nodeType": "VariableDeclaration", + "scope": 307, + "src": "7240:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 278, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7240:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 281, + "mutability": "mutable", + "name": "account", + "nameLocation": "7262:7:0", + "nodeType": "VariableDeclaration", + "scope": 307, + "src": "7254:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7254:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7239:31:0" + }, + "returnParameters": { + "id": 283, + "nodeType": "ParameterList", + "parameters": [], + "src": "7288:0:0" + }, + "scope": 308, + "src": "7219:234:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 309, + "src": "1806:5649:0", + "usedErrors": [] + } + ], + "src": "108:7348:0" + }, + "id": 0 + }, + "@openzeppelin/contracts/access/IAccessControl.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/access/IAccessControl.sol", + "exportedSymbols": { + "IAccessControl": [ + 381 + ] + }, + "id": 382, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 310, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "94:23:1" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 311, + "nodeType": "StructuredDocumentation", + "src": "119:89:1", + "text": " @dev External interface of AccessControl declared to support ERC165 detection." + }, + "fullyImplemented": false, + "id": 381, + "linearizedBaseContracts": [ + 381 + ], + "name": "IAccessControl", + "nameLocation": "219:14:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 312, + "nodeType": "StructuredDocumentation", + "src": "240:292:1", + "text": " @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted signaling this.\n _Available since v3.1._" + }, + "id": 320, + "name": "RoleAdminChanged", + "nameLocation": "543:16:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 314, + "indexed": true, + "mutability": "mutable", + "name": "role", + "nameLocation": "576:4:1", + "nodeType": "VariableDeclaration", + "scope": 320, + "src": "560:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 313, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "560:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 316, + "indexed": true, + "mutability": "mutable", + "name": "previousAdminRole", + "nameLocation": "598:17:1", + "nodeType": "VariableDeclaration", + "scope": 320, + "src": "582:33:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 315, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "582:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 318, + "indexed": true, + "mutability": "mutable", + "name": "newAdminRole", + "nameLocation": "633:12:1", + "nodeType": "VariableDeclaration", + "scope": 320, + "src": "617:28:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 317, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "617:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "559:87:1" + }, + "src": "537:110:1" + }, + { + "anonymous": false, + "documentation": { + "id": 321, + "nodeType": "StructuredDocumentation", + "src": "653:212:1", + "text": " @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call, an admin role\n bearer except when using {AccessControl-_setupRole}." + }, + "id": 329, + "name": "RoleGranted", + "nameLocation": "876:11:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 323, + "indexed": true, + "mutability": "mutable", + "name": "role", + "nameLocation": "904:4:1", + "nodeType": "VariableDeclaration", + "scope": 329, + "src": "888:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 322, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "888:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 325, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "926:7:1", + "nodeType": "VariableDeclaration", + "scope": 329, + "src": "910:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 324, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "910:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 327, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "951:6:1", + "nodeType": "VariableDeclaration", + "scope": 329, + "src": "935:22:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "935:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "887:71:1" + }, + "src": "870:89:1" + }, + { + "anonymous": false, + "documentation": { + "id": 330, + "nodeType": "StructuredDocumentation", + "src": "965:275:1", + "text": " @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)" + }, + "id": 338, + "name": "RoleRevoked", + "nameLocation": "1251:11:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 332, + "indexed": true, + "mutability": "mutable", + "name": "role", + "nameLocation": "1279:4:1", + "nodeType": "VariableDeclaration", + "scope": 338, + "src": "1263:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 331, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1263:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 334, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "1301:7:1", + "nodeType": "VariableDeclaration", + "scope": 338, + "src": "1285:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 333, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1285:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 336, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1326:6:1", + "nodeType": "VariableDeclaration", + "scope": 338, + "src": "1310:22:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 335, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1310:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1262:71:1" + }, + "src": "1245:89:1" + }, + { + "documentation": { + "id": 339, + "nodeType": "StructuredDocumentation", + "src": "1340:76:1", + "text": " @dev Returns `true` if `account` has been granted `role`." + }, + "functionSelector": "91d14854", + "id": 348, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "hasRole", + "nameLocation": "1430:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 344, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 341, + "mutability": "mutable", + "name": "role", + "nameLocation": "1446:4:1", + "nodeType": "VariableDeclaration", + "scope": 348, + "src": "1438:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 340, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1438:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 343, + "mutability": "mutable", + "name": "account", + "nameLocation": "1460:7:1", + "nodeType": "VariableDeclaration", + "scope": 348, + "src": "1452:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 342, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1452:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1437:31:1" + }, + "returnParameters": { + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 348, + "src": "1492:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 345, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1492:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1491:6:1" + }, + "scope": 381, + "src": "1421:77:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 349, + "nodeType": "StructuredDocumentation", + "src": "1504:184:1", + "text": " @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {AccessControl-_setRoleAdmin}." + }, + "functionSelector": "248a9ca3", + "id": 356, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRoleAdmin", + "nameLocation": "1702:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 352, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 351, + "mutability": "mutable", + "name": "role", + "nameLocation": "1723:4:1", + "nodeType": "VariableDeclaration", + "scope": 356, + "src": "1715:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 350, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1715:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1714:14:1" + }, + "returnParameters": { + "id": 355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 354, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 356, + "src": "1752:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 353, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1752:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1751:9:1" + }, + "scope": 381, + "src": "1693:68:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 357, + "nodeType": "StructuredDocumentation", + "src": "1767:239:1", + "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role." + }, + "functionSelector": "2f2ff15d", + "id": 364, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "grantRole", + "nameLocation": "2020:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 362, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 359, + "mutability": "mutable", + "name": "role", + "nameLocation": "2038:4:1", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2030:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 358, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2030:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 361, + "mutability": "mutable", + "name": "account", + "nameLocation": "2052:7:1", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2044:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2044:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2029:31:1" + }, + "returnParameters": { + "id": 363, + "nodeType": "ParameterList", + "parameters": [], + "src": "2069:0:1" + }, + "scope": 381, + "src": "2011:59:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 365, + "nodeType": "StructuredDocumentation", + "src": "2076:223:1", + "text": " @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role." + }, + "functionSelector": "d547741f", + "id": 372, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revokeRole", + "nameLocation": "2313:10:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "role", + "nameLocation": "2332:4:1", + "nodeType": "VariableDeclaration", + "scope": 372, + "src": "2324:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 366, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2324:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 369, + "mutability": "mutable", + "name": "account", + "nameLocation": "2346:7:1", + "nodeType": "VariableDeclaration", + "scope": 372, + "src": "2338:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2338:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2323:31:1" + }, + "returnParameters": { + "id": 371, + "nodeType": "ParameterList", + "parameters": [], + "src": "2363:0:1" + }, + "scope": 381, + "src": "2304:60:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 373, + "nodeType": "StructuredDocumentation", + "src": "2370:480:1", + "text": " @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`." + }, + "functionSelector": "36568abe", + "id": 380, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "renounceRole", + "nameLocation": "2864:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 375, + "mutability": "mutable", + "name": "role", + "nameLocation": "2885:4:1", + "nodeType": "VariableDeclaration", + "scope": 380, + "src": "2877:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 374, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2877:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 377, + "mutability": "mutable", + "name": "account", + "nameLocation": "2899:7:1", + "nodeType": "VariableDeclaration", + "scope": 380, + "src": "2891:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2891:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2876:31:1" + }, + "returnParameters": { + "id": 379, + "nodeType": "ParameterList", + "parameters": [], + "src": "2916:0:1" + }, + "scope": 381, + "src": "2855:62:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 382, + "src": "209:2710:1", + "usedErrors": [] + } + ], + "src": "94:2826:1" + }, + "id": 1 + }, + "@openzeppelin/contracts/access/Ownable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "exportedSymbols": { + "Context": [ + 1346 + ], + "Ownable": [ + 486 + ] + }, + "id": 487, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 383, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "87:23:2" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 384, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 487, + "sourceUnit": 1347, + "src": "112:30:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 386, + "name": "Context", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1346, + "src": "668:7:2" + }, + "id": 387, + "nodeType": "InheritanceSpecifier", + "src": "668:7:2" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 385, + "nodeType": "StructuredDocumentation", + "src": "144:494:2", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 486, + "linearizedBaseContracts": [ + 486, + 1346 + ], + "name": "Ownable", + "nameLocation": "657:7:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "698:6:2", + "nodeType": "VariableDeclaration", + "scope": 486, + "src": "682:22:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 388, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "682:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "anonymous": false, + "id": 395, + "name": "OwnershipTransferred", + "nameLocation": "717:20:2", + "nodeType": "EventDefinition", + "parameters": { + "id": 394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 391, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "754:13:2", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "738:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "738:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 393, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "785:8:2", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "769:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 392, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "769:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "737:57:2" + }, + "src": "711:84:2" + }, + { + "body": { + "id": 404, + "nodeType": "Block", + "src": "911:49:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 400, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "940:10:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "940:12:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 399, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "921:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "921:32:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "921:32:2" + } + ] + }, + "documentation": { + "id": 396, + "nodeType": "StructuredDocumentation", + "src": "801:91:2", + "text": " @dev Initializes the contract setting the deployer as the initial owner." + }, + "id": 405, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 397, + "nodeType": "ParameterList", + "parameters": [], + "src": "908:2:2" + }, + "returnParameters": { + "id": 398, + "nodeType": "ParameterList", + "parameters": [], + "src": "911:0:2" + }, + "scope": 486, + "src": "897:63:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 413, + "nodeType": "Block", + "src": "1091:30:2", + "statements": [ + { + "expression": { + "id": 411, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "1108:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 410, + "id": 412, + "nodeType": "Return", + "src": "1101:13:2" + } + ] + }, + "documentation": { + "id": 406, + "nodeType": "StructuredDocumentation", + "src": "966:65:2", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 414, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1045:5:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 407, + "nodeType": "ParameterList", + "parameters": [], + "src": "1050:2:2" + }, + "returnParameters": { + "id": 410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 409, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 414, + "src": "1082:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 408, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1082:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1081:9:2" + }, + "scope": 486, + "src": "1036:85:2", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 427, + "nodeType": "Block", + "src": "1230:96:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 418, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "1248:5:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1248:7:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 420, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "1259:10:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1259:12:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1248:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "id": 423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:34:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + }, + "value": "Ownable: caller is not the owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + } + ], + "id": 417, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1240:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1240:68:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 425, + "nodeType": "ExpressionStatement", + "src": "1240:68:2" + }, + { + "id": 426, + "nodeType": "PlaceholderStatement", + "src": "1318:1:2" + } + ] + }, + "documentation": { + "id": 415, + "nodeType": "StructuredDocumentation", + "src": "1127:77:2", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 428, + "name": "onlyOwner", + "nameLocation": "1218:9:2", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 416, + "nodeType": "ParameterList", + "parameters": [], + "src": "1227:2:2" + }, + "src": "1209:117:2", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 441, + "nodeType": "Block", + "src": "1722:47:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1759:1:2", + "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": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1751:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 435, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1751:7:2", + "typeDescriptions": {} + } + }, + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1751:10:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 434, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "1732:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1732:30:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 440, + "nodeType": "ExpressionStatement", + "src": "1732:30:2" + } + ] + }, + "documentation": { + "id": 429, + "nodeType": "StructuredDocumentation", + "src": "1332:331:2", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 442, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 432, + "kind": "modifierInvocation", + "modifierName": { + "id": 431, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "1712:9:2" + }, + "nodeType": "ModifierInvocation", + "src": "1712:9:2" + } + ], + "name": "renounceOwnership", + "nameLocation": "1677:17:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 430, + "nodeType": "ParameterList", + "parameters": [], + "src": "1694:2:2" + }, + "returnParameters": { + "id": 433, + "nodeType": "ParameterList", + "parameters": [], + "src": "1722:0:2" + }, + "scope": 486, + "src": "1668:101:2", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 464, + "nodeType": "Block", + "src": "1988:128:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 451, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "2006:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2026:1:2", + "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": 453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2018:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 452, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2018:7:2", + "typeDescriptions": {} + } + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2018:10:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2006:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", + "id": 457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:40:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + }, + "value": "Ownable: new owner is the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + } + ], + "id": 450, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1998:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1998:73:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 459, + "nodeType": "ExpressionStatement", + "src": "1998:73:2" + }, + { + "expression": { + "arguments": [ + { + "id": 461, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "2100:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 460, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "2081:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2081:28:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "2081:28:2" + } + ] + }, + "documentation": { + "id": 443, + "nodeType": "StructuredDocumentation", + "src": "1775:138:2", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 465, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 448, + "kind": "modifierInvocation", + "modifierName": { + "id": 447, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "1978:9:2" + }, + "nodeType": "ModifierInvocation", + "src": "1978:9:2" + } + ], + "name": "transferOwnership", + "nameLocation": "1927:17:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 446, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 445, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1953:8:2", + "nodeType": "VariableDeclaration", + "scope": 465, + "src": "1945:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1945:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1944:18:2" + }, + "returnParameters": { + "id": 449, + "nodeType": "ParameterList", + "parameters": [], + "src": "1988:0:2" + }, + "scope": 486, + "src": "1918:198:2", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 484, + "nodeType": "Block", + "src": "2333:124:2", + "statements": [ + { + "assignments": [ + 472 + ], + "declarations": [ + { + "constant": false, + "id": 472, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "2351:8:2", + "nodeType": "VariableDeclaration", + "scope": 484, + "src": "2343:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 471, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2343:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 474, + "initialValue": { + "id": 473, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "2362:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2343:25:2" + }, + { + "expression": { + "id": 477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 475, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "2378:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 476, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 468, + "src": "2387:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2378:17:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 478, + "nodeType": "ExpressionStatement", + "src": "2378:17:2" + }, + { + "eventCall": { + "arguments": [ + { + "id": 480, + "name": "oldOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 472, + "src": "2431:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 481, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 468, + "src": "2441:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 479, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "2410:20:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2410:40:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 483, + "nodeType": "EmitStatement", + "src": "2405:45:2" + } + ] + }, + "documentation": { + "id": 466, + "nodeType": "StructuredDocumentation", + "src": "2122:143:2", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 485, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nameLocation": "2279:18:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 469, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 468, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2306:8:2", + "nodeType": "VariableDeclaration", + "scope": 485, + "src": "2298:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 467, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2298:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2297:18:2" + }, + "returnParameters": { + "id": 470, + "nodeType": "ParameterList", + "parameters": [], + "src": "2333:0:2" + }, + "scope": 486, + "src": "2270:187:2", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 487, + "src": "639:1820:2", + "usedErrors": [] + } + ], + "src": "87:2373:2" + }, + "id": 2 + }, + "@openzeppelin/contracts/token/ERC20/ERC20.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "exportedSymbols": { + "Context": [ + 1346 + ], + "ERC20": [ + 1074 + ], + "IERC20": [ + 1152 + ], + "IERC20Metadata": [ + 1177 + ] + }, + "id": 1075, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 488, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "105:23:3" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "./IERC20.sol", + "id": 489, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 1153, + "src": "130:22:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "file": "./extensions/IERC20Metadata.sol", + "id": 490, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 1178, + "src": "153:41:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../../utils/Context.sol", + "id": 491, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1075, + "sourceUnit": 1347, + "src": "195:33:3", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 493, + "name": "Context", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1346, + "src": "1421:7:3" + }, + "id": 494, + "nodeType": "InheritanceSpecifier", + "src": "1421:7:3" + }, + { + "baseName": { + "id": 495, + "name": "IERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1152, + "src": "1430:6:3" + }, + "id": 496, + "nodeType": "InheritanceSpecifier", + "src": "1430:6:3" + }, + { + "baseName": { + "id": 497, + "name": "IERC20Metadata", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1177, + "src": "1438:14:3" + }, + "id": 498, + "nodeType": "InheritanceSpecifier", + "src": "1438:14:3" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 492, + "nodeType": "StructuredDocumentation", + "src": "230:1172:3", + "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 For a generic mechanism see {ERC20PresetMinterPauser}.\n TIP: For a detailed writeup see our guide\n https://forum.zeppelin.solutions/t/how-to-implement-erc20-supply-mechanisms/226[How\n to implement supply mechanisms].\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 ERC20\n applications.\n Additionally, an {Approval} event is emitted on calls to {transferFrom}.\n This allows applications to reconstruct the allowance for all accounts just\n by listening to said events. Other implementations of the EIP may not emit\n these events, as it isn't required by the specification.\n Finally, the non-standard {decreaseAllowance} and {increaseAllowance}\n functions have been added to mitigate the well-known issues around setting\n allowances. See {IERC20-approve}." + }, + "fullyImplemented": true, + "id": 1074, + "linearizedBaseContracts": [ + 1074, + 1177, + 1152, + 1346 + ], + "name": "ERC20", + "nameLocation": "1412:5:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 502, + "mutability": "mutable", + "name": "_balances", + "nameLocation": "1495:9:3", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "1459:45:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "typeName": { + "id": 501, + "keyType": { + "id": 499, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1467:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1459:27:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1478:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 508, + "mutability": "mutable", + "name": "_allowances", + "nameLocation": "1567:11:3", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "1511:67:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "typeName": { + "id": 507, + "keyType": { + "id": 503, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1519:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1511:47:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + }, + "valueType": { + "id": 506, + "keyType": { + "id": 504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1538:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1530:27:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + }, + "valueType": { + "id": 505, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1549:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 510, + "mutability": "mutable", + "name": "_totalSupply", + "nameLocation": "1601:12:3", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "1585:28:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 509, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1585:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 512, + "mutability": "mutable", + "name": "_name", + "nameLocation": "1635:5:3", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "1620:20:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 511, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1620:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 514, + "mutability": "mutable", + "name": "_symbol", + "nameLocation": "1661:7:3", + "nodeType": "VariableDeclaration", + "scope": 1074, + "src": "1646:22:3", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string" + }, + "typeName": { + "id": 513, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1646:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "private" + }, + { + "body": { + "id": 530, + "nodeType": "Block", + "src": "2034:57:3", + "statements": [ + { + "expression": { + "id": 524, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 522, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "2044:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 523, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 517, + "src": "2052:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2044:13:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 525, + "nodeType": "ExpressionStatement", + "src": "2044:13:3" + }, + { + "expression": { + "id": 528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 526, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 514, + "src": "2067:7:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 527, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 519, + "src": "2077:7:3", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2067:17:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "id": 529, + "nodeType": "ExpressionStatement", + "src": "2067:17:3" + } + ] + }, + "documentation": { + "id": 515, + "nodeType": "StructuredDocumentation", + "src": "1675:298:3", + "text": " @dev Sets the values for {name} and {symbol}.\n The default value of {decimals} is 18. To select a different value for\n {decimals} you should overload it.\n All two of these values are immutable: they can only be set once during\n construction." + }, + "id": 531, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 517, + "mutability": "mutable", + "name": "name_", + "nameLocation": "2004:5:3", + "nodeType": "VariableDeclaration", + "scope": 531, + "src": "1990:19:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 516, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1990:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 519, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "2025:7:3", + "nodeType": "VariableDeclaration", + "scope": 531, + "src": "2011:21:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 518, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2011:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1989:44:3" + }, + "returnParameters": { + "id": 521, + "nodeType": "ParameterList", + "parameters": [], + "src": "2034:0:3" + }, + "scope": 1074, + "src": "1978:113:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "baseFunctions": [ + 1164 + ], + "body": { + "id": 540, + "nodeType": "Block", + "src": "2225:29:3", + "statements": [ + { + "expression": { + "id": 538, + "name": "_name", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 512, + "src": "2242:5:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 537, + "id": 539, + "nodeType": "Return", + "src": "2235:12:3" + } + ] + }, + "documentation": { + "id": 532, + "nodeType": "StructuredDocumentation", + "src": "2097:54:3", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "id": 541, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "2165:4:3", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 534, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2192:8:3" + }, + "parameters": { + "id": 533, + "nodeType": "ParameterList", + "parameters": [], + "src": "2169:2:3" + }, + "returnParameters": { + "id": 537, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 536, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 541, + "src": "2210:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 535, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2210:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2209:15:3" + }, + "scope": 1074, + "src": "2156:98:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1170 + ], + "body": { + "id": 550, + "nodeType": "Block", + "src": "2438:31:3", + "statements": [ + { + "expression": { + "id": 548, + "name": "_symbol", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 514, + "src": "2455:7:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "functionReturnParameters": 547, + "id": 549, + "nodeType": "Return", + "src": "2448:14:3" + } + ] + }, + "documentation": { + "id": 542, + "nodeType": "StructuredDocumentation", + "src": "2260:102:3", + "text": " @dev Returns the symbol of the token, usually a shorter version of the\n name." + }, + "functionSelector": "95d89b41", + "id": 551, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "2376:6:3", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 544, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2405:8:3" + }, + "parameters": { + "id": 543, + "nodeType": "ParameterList", + "parameters": [], + "src": "2382:2:3" + }, + "returnParameters": { + "id": 547, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 546, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 551, + "src": "2423:13:3", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 545, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2423:6:3", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2422:15:3" + }, + "scope": 1074, + "src": "2367:102:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1176 + ], + "body": { + "id": 560, + "nodeType": "Block", + "src": "3158:26:3", + "statements": [ + { + "expression": { + "hexValue": "3138", + "id": 558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3175:2:3", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "functionReturnParameters": 557, + "id": 559, + "nodeType": "Return", + "src": "3168:9:3" + } + ] + }, + "documentation": { + "id": 552, + "nodeType": "StructuredDocumentation", + "src": "2475:613:3", + "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 value {ERC20} uses, unless this function is\n 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", + "id": 561, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "3102:8:3", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 554, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3133:8:3" + }, + "parameters": { + "id": 553, + "nodeType": "ParameterList", + "parameters": [], + "src": "3110:2:3" + }, + "returnParameters": { + "id": 557, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 556, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 561, + "src": "3151:5:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 555, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "3151:5:3", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "3150:7:3" + }, + "scope": 1074, + "src": "3093:91:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1083 + ], + "body": { + "id": 570, + "nodeType": "Block", + "src": "3314:36:3", + "statements": [ + { + "expression": { + "id": 568, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "3331:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 567, + "id": 569, + "nodeType": "Return", + "src": "3324:19:3" + } + ] + }, + "documentation": { + "id": 562, + "nodeType": "StructuredDocumentation", + "src": "3190:49:3", + "text": " @dev See {IERC20-totalSupply}." + }, + "functionSelector": "18160ddd", + "id": 571, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "3253:11:3", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 564, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3287:8:3" + }, + "parameters": { + "id": 563, + "nodeType": "ParameterList", + "parameters": [], + "src": "3264:2:3" + }, + "returnParameters": { + "id": 567, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 566, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 571, + "src": "3305:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 565, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3305:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3304:9:3" + }, + "scope": 1074, + "src": "3244:106:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1091 + ], + "body": { + "id": 584, + "nodeType": "Block", + "src": "3491:42:3", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 580, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "3508:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 582, + "indexExpression": { + "id": 581, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 574, + "src": "3518:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3508:18:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 579, + "id": 583, + "nodeType": "Return", + "src": "3501:25:3" + } + ] + }, + "documentation": { + "id": 572, + "nodeType": "StructuredDocumentation", + "src": "3356:47:3", + "text": " @dev See {IERC20-balanceOf}." + }, + "functionSelector": "70a08231", + "id": 585, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "3417:9:3", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 576, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3464:8:3" + }, + "parameters": { + "id": 575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 574, + "mutability": "mutable", + "name": "account", + "nameLocation": "3435:7:3", + "nodeType": "VariableDeclaration", + "scope": 585, + "src": "3427:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 573, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3427:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3426:17:3" + }, + "returnParameters": { + "id": 579, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 578, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 585, + "src": "3482:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 577, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3482:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3481:9:3" + }, + "scope": 1074, + "src": "3408:125:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1101 + ], + "body": { + "id": 609, + "nodeType": "Block", + "src": "3814:104:3", + "statements": [ + { + "assignments": [ + 597 + ], + "declarations": [ + { + "constant": false, + "id": 597, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3832:5:3", + "nodeType": "VariableDeclaration", + "scope": 609, + "src": "3824:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 596, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3824:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 600, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 598, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "3840:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3840:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3824:28:3" + }, + { + "expression": { + "arguments": [ + { + "id": 602, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 597, + "src": "3872:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 603, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 588, + "src": "3879:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 604, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 590, + "src": "3883:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 601, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 835, + "src": "3862:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3862:28:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 606, + "nodeType": "ExpressionStatement", + "src": "3862:28:3" + }, + { + "expression": { + "hexValue": "74727565", + "id": 607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3907:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 595, + "id": 608, + "nodeType": "Return", + "src": "3900:11:3" + } + ] + }, + "documentation": { + "id": 586, + "nodeType": "StructuredDocumentation", + "src": "3539:185:3", + "text": " @dev See {IERC20-transfer}.\n Requirements:\n - `to` cannot be the zero address.\n - the caller must have a balance of at least `amount`." + }, + "functionSelector": "a9059cbb", + "id": 610, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "3738:8:3", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 592, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "3790:8:3" + }, + "parameters": { + "id": 591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 588, + "mutability": "mutable", + "name": "to", + "nameLocation": "3755:2:3", + "nodeType": "VariableDeclaration", + "scope": 610, + "src": "3747:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 587, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3747:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 590, + "mutability": "mutable", + "name": "amount", + "nameLocation": "3767:6:3", + "nodeType": "VariableDeclaration", + "scope": 610, + "src": "3759:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 589, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3759:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3746:28:3" + }, + "returnParameters": { + "id": 595, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 594, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 610, + "src": "3808:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 593, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3808:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3807:6:3" + }, + "scope": 1074, + "src": "3729:189:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1111 + ], + "body": { + "id": 627, + "nodeType": "Block", + "src": "4074:51:3", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 621, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "4091:11:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 623, + "indexExpression": { + "id": 622, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 613, + "src": "4103:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4091:18:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 625, + "indexExpression": { + "id": 624, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 615, + "src": "4110:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4091:27:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 620, + "id": 626, + "nodeType": "Return", + "src": "4084:34:3" + } + ] + }, + "documentation": { + "id": 611, + "nodeType": "StructuredDocumentation", + "src": "3924:47:3", + "text": " @dev See {IERC20-allowance}." + }, + "functionSelector": "dd62ed3e", + "id": 628, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "3985:9:3", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 617, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4047:8:3" + }, + "parameters": { + "id": 616, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 613, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4003:5:3", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "3995:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 612, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3995:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 615, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4018:7:3", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4010:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 614, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4010:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3994:32:3" + }, + "returnParameters": { + "id": 620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 619, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 628, + "src": "4065:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 618, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4065:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4064:9:3" + }, + "scope": 1074, + "src": "3976:149:3", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1121 + ], + "body": { + "id": 652, + "nodeType": "Block", + "src": "4522:108:3", + "statements": [ + { + "assignments": [ + 640 + ], + "declarations": [ + { + "constant": false, + "id": 640, + "mutability": "mutable", + "name": "owner", + "nameLocation": "4540:5:3", + "nodeType": "VariableDeclaration", + "scope": 652, + "src": "4532:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 639, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4532:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 643, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 641, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "4548:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4548:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4532:28:3" + }, + { + "expression": { + "arguments": [ + { + "id": 645, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 640, + "src": "4579:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 646, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 631, + "src": "4586:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 647, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 633, + "src": "4595:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 644, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "4570:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4570:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 649, + "nodeType": "ExpressionStatement", + "src": "4570:32:3" + }, + { + "expression": { + "hexValue": "74727565", + "id": 650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4619:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 638, + "id": 651, + "nodeType": "Return", + "src": "4612:11:3" + } + ] + }, + "documentation": { + "id": 629, + "nodeType": "StructuredDocumentation", + "src": "4131:297:3", + "text": " @dev See {IERC20-approve}.\n NOTE: If `amount` 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", + "id": 653, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "4442:7:3", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 635, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4498:8:3" + }, + "parameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 631, + "mutability": "mutable", + "name": "spender", + "nameLocation": "4458:7:3", + "nodeType": "VariableDeclaration", + "scope": 653, + "src": "4450:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 630, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4450:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 633, + "mutability": "mutable", + "name": "amount", + "nameLocation": "4475:6:3", + "nodeType": "VariableDeclaration", + "scope": 653, + "src": "4467:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4467:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4449:33:3" + }, + "returnParameters": { + "id": 638, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 637, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 653, + "src": "4516:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 636, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4516:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4515:6:3" + }, + "scope": 1074, + "src": "4433:197:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 1133 + ], + "body": { + "id": 685, + "nodeType": "Block", + "src": "5325:153:3", + "statements": [ + { + "assignments": [ + 667 + ], + "declarations": [ + { + "constant": false, + "id": 667, + "mutability": "mutable", + "name": "spender", + "nameLocation": "5343:7:3", + "nodeType": "VariableDeclaration", + "scope": 685, + "src": "5335:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 666, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5335:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 670, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 668, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "5353:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 669, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5353:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5335:30:3" + }, + { + "expression": { + "arguments": [ + { + "id": 672, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 656, + "src": "5391:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 673, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 667, + "src": "5397:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 674, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 660, + "src": "5406:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 671, + "name": "_spendAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1051, + "src": "5375:15:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 675, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5375:38:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 676, + "nodeType": "ExpressionStatement", + "src": "5375:38:3" + }, + { + "expression": { + "arguments": [ + { + "id": 678, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 656, + "src": "5433:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 679, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 658, + "src": "5439:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 680, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 660, + "src": "5443:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 677, + "name": "_transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 835, + "src": "5423:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 681, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5423:27:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 682, + "nodeType": "ExpressionStatement", + "src": "5423:27:3" + }, + { + "expression": { + "hexValue": "74727565", + "id": 683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5467:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 665, + "id": 684, + "nodeType": "Return", + "src": "5460:11:3" + } + ] + }, + "documentation": { + "id": 654, + "nodeType": "StructuredDocumentation", + "src": "4636:551:3", + "text": " @dev See {IERC20-transferFrom}.\n Emits an {Approval} event indicating the updated allowance. This is not\n required by the EIP. See the note at the beginning of {ERC20}.\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 `amount`.\n - the caller must have allowance for ``from``'s tokens of at least\n `amount`." + }, + "functionSelector": "23b872dd", + "id": 686, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "5201:12:3", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 662, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5301:8:3" + }, + "parameters": { + "id": 661, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 656, + "mutability": "mutable", + "name": "from", + "nameLocation": "5231:4:3", + "nodeType": "VariableDeclaration", + "scope": 686, + "src": "5223:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 655, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5223:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 658, + "mutability": "mutable", + "name": "to", + "nameLocation": "5253:2:3", + "nodeType": "VariableDeclaration", + "scope": 686, + "src": "5245:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 657, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5245:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 660, + "mutability": "mutable", + "name": "amount", + "nameLocation": "5273:6:3", + "nodeType": "VariableDeclaration", + "scope": 686, + "src": "5265:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 659, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5265:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5213:72:3" + }, + "returnParameters": { + "id": 665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 664, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 686, + "src": "5319:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 663, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5319:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5318:6:3" + }, + "scope": 1074, + "src": "5192:286:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 715, + "nodeType": "Block", + "src": "5967:142:3", + "statements": [ + { + "assignments": [ + 697 + ], + "declarations": [ + { + "constant": false, + "id": 697, + "mutability": "mutable", + "name": "owner", + "nameLocation": "5985:5:3", + "nodeType": "VariableDeclaration", + "scope": 715, + "src": "5977:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5977:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 700, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 698, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "5993:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5993:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5977:28:3" + }, + { + "expression": { + "arguments": [ + { + "id": 702, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "6024:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 703, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 689, + "src": "6031:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 710, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 704, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "6040:11:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 706, + "indexExpression": { + "id": 705, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 697, + "src": "6052:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6040:18:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 708, + "indexExpression": { + "id": 707, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 689, + "src": "6059:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6040:27:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "id": 709, + "name": "addedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 691, + "src": "6070:10:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6040:40:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 701, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "6015:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6015:66:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 712, + "nodeType": "ExpressionStatement", + "src": "6015:66:3" + }, + { + "expression": { + "hexValue": "74727565", + "id": 713, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6098:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 695, + "id": 714, + "nodeType": "Return", + "src": "6091:11:3" + } + ] + }, + "documentation": { + "id": 687, + "nodeType": "StructuredDocumentation", + "src": "5484:384:3", + "text": " @dev Atomically increases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address." + }, + "functionSelector": "39509351", + "id": 716, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increaseAllowance", + "nameLocation": "5882:17:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 692, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 689, + "mutability": "mutable", + "name": "spender", + "nameLocation": "5908:7:3", + "nodeType": "VariableDeclaration", + "scope": 716, + "src": "5900:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 688, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5900:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 691, + "mutability": "mutable", + "name": "addedValue", + "nameLocation": "5925:10:3", + "nodeType": "VariableDeclaration", + "scope": 716, + "src": "5917:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 690, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "5917:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5899:37:3" + }, + "returnParameters": { + "id": 695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 694, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 716, + "src": "5961:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 693, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5961:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5960:6:3" + }, + "scope": 1074, + "src": "5873:236:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 757, + "nodeType": "Block", + "src": "6695:330:3", + "statements": [ + { + "assignments": [ + 727 + ], + "declarations": [ + { + "constant": false, + "id": 727, + "mutability": "mutable", + "name": "owner", + "nameLocation": "6713:5:3", + "nodeType": "VariableDeclaration", + "scope": 757, + "src": "6705:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 726, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6705:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 730, + "initialValue": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 728, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1336, + "src": "6721:10:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 729, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6721:12:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6705:28:3" + }, + { + "assignments": [ + 732 + ], + "declarations": [ + { + "constant": false, + "id": 732, + "mutability": "mutable", + "name": "currentAllowance", + "nameLocation": "6751:16:3", + "nodeType": "VariableDeclaration", + "scope": 757, + "src": "6743:24:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 731, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6743:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 738, + "initialValue": { + "baseExpression": { + "baseExpression": { + "id": 733, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "6770:11:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 735, + "indexExpression": { + "id": 734, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 727, + "src": "6782:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6770:18:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 737, + "indexExpression": { + "id": 736, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 719, + "src": "6789:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6770:27:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6743:54:3" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 742, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 740, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 732, + "src": "6815:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 741, + "name": "subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 721, + "src": "6835:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6815:35:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a2064656372656173656420616c6c6f77616e63652062656c6f77207a65726f", + "id": 743, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6852:39:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "typeString": "literal_string \"ERC20: decreased allowance below zero\"" + }, + "value": "ERC20: decreased allowance below zero" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_f8b476f7d28209d77d4a4ac1fe36b9f8259aa1bb6bddfa6e89de7e51615cf8a8", + "typeString": "literal_string \"ERC20: decreased allowance below zero\"" + } + ], + "id": 739, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6807:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 744, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6807:85:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 745, + "nodeType": "ExpressionStatement", + "src": "6807:85:3" + }, + { + "id": 754, + "nodeType": "UncheckedBlock", + "src": "6902:95:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 747, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 727, + "src": "6935:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 748, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 719, + "src": "6942:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 751, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 749, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 732, + "src": "6951:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 750, + "name": "subtractedValue", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 721, + "src": "6970:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "6951:34:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 746, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "6926:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6926:60:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 753, + "nodeType": "ExpressionStatement", + "src": "6926:60:3" + } + ] + }, + { + "expression": { + "hexValue": "74727565", + "id": 755, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7014:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "functionReturnParameters": 725, + "id": 756, + "nodeType": "Return", + "src": "7007:11:3" + } + ] + }, + "documentation": { + "id": 717, + "nodeType": "StructuredDocumentation", + "src": "6115:476:3", + "text": " @dev Atomically decreases the allowance granted to `spender` by the caller.\n This is an alternative to {approve} that can be used as a mitigation for\n problems described in {IERC20-approve}.\n Emits an {Approval} event indicating the updated allowance.\n Requirements:\n - `spender` cannot be the zero address.\n - `spender` must have allowance for the caller of at least\n `subtractedValue`." + }, + "functionSelector": "a457c2d7", + "id": 758, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decreaseAllowance", + "nameLocation": "6605:17:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 722, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 719, + "mutability": "mutable", + "name": "spender", + "nameLocation": "6631:7:3", + "nodeType": "VariableDeclaration", + "scope": 758, + "src": "6623:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 718, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6623:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 721, + "mutability": "mutable", + "name": "subtractedValue", + "nameLocation": "6648:15:3", + "nodeType": "VariableDeclaration", + "scope": 758, + "src": "6640:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 720, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "6640:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6622:42:3" + }, + "returnParameters": { + "id": 725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 724, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 758, + "src": "6689:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 723, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6689:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6688:6:3" + }, + "scope": 1074, + "src": "6596:429:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 834, + "nodeType": "Block", + "src": "7596:543:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 774, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 769, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 761, + "src": "7614:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 772, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7630:1:3", + "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": 771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7622:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 770, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7622:7:3", + "typeDescriptions": {} + } + }, + "id": 773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7622:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7614:18:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e736665722066726f6d20746865207a65726f2061646472657373", + "id": 775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7634:39:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "typeString": "literal_string \"ERC20: transfer from the zero address\"" + }, + "value": "ERC20: transfer from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_baecc556b46f4ed0f2b4cb599d60785ac8563dd2dc0a5bf12edea1c39e5e1fea", + "typeString": "literal_string \"ERC20: transfer from the zero address\"" + } + ], + "id": 768, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7606:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7606:68:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 777, + "nodeType": "ExpressionStatement", + "src": "7606:68:3" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 779, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 763, + "src": "7692:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 782, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7706:1:3", + "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": 781, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "7698:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 780, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7698:7:3", + "typeDescriptions": {} + } + }, + "id": 783, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7698:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "7692:16:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e7366657220746f20746865207a65726f2061646472657373", + "id": 785, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7710:37:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "typeString": "literal_string \"ERC20: transfer to the zero address\"" + }, + "value": "ERC20: transfer to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_0557e210f7a69a685100a7e4e3d0a7024c546085cee28910fd17d0b081d9516f", + "typeString": "literal_string \"ERC20: transfer to the zero address\"" + } + ], + "id": 778, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7684:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7684:64:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 787, + "nodeType": "ExpressionStatement", + "src": "7684:64:3" + }, + { + "expression": { + "arguments": [ + { + "id": 789, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 761, + "src": "7780:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 790, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 763, + "src": "7786:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 791, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "7790:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 788, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1062, + "src": "7759:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7759:38:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 793, + "nodeType": "ExpressionStatement", + "src": "7759:38:3" + }, + { + "assignments": [ + 795 + ], + "declarations": [ + { + "constant": false, + "id": 795, + "mutability": "mutable", + "name": "fromBalance", + "nameLocation": "7816:11:3", + "nodeType": "VariableDeclaration", + "scope": 834, + "src": "7808:19:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 794, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7808:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 799, + "initialValue": { + "baseExpression": { + "id": 796, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "7830:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 798, + "indexExpression": { + "id": 797, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 761, + "src": "7840:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7830:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7808:37:3" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 801, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 795, + "src": "7863:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 802, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "7878:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7863:21:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a207472616e7366657220616d6f756e7420657863656564732062616c616e6365", + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7886:40:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" + }, + "value": "ERC20: transfer amount exceeds balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4107e8a8b9e94bf8ff83080ddec1c0bffe897ebc2241b89d44f66b3d274088b6", + "typeString": "literal_string \"ERC20: transfer amount exceeds balance\"" + } + ], + "id": 800, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "7855:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7855:72:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 806, + "nodeType": "ExpressionStatement", + "src": "7855:72:3" + }, + { + "id": 815, + "nodeType": "UncheckedBlock", + "src": "7937:73:3", + "statements": [ + { + "expression": { + "id": 813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 807, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "7961:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 809, + "indexExpression": { + "id": 808, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 761, + "src": "7971:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7961:15:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 810, + "name": "fromBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 795, + "src": "7979:11:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 811, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "7993:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7979:20:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7961:38:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 814, + "nodeType": "ExpressionStatement", + "src": "7961:38:3" + } + ] + }, + { + "expression": { + "id": 820, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 816, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "8019:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 818, + "indexExpression": { + "id": 817, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 763, + "src": "8029:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8019:13:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 819, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "8036:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8019:23:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 821, + "nodeType": "ExpressionStatement", + "src": "8019:23:3" + }, + { + "eventCall": { + "arguments": [ + { + "id": 823, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 761, + "src": "8067:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 824, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 763, + "src": "8073:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 825, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "8077:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 822, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1142, + "src": "8058:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8058:26:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 827, + "nodeType": "EmitStatement", + "src": "8053:31:3" + }, + { + "expression": { + "arguments": [ + { + "id": 829, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 761, + "src": "8115:4:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 830, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 763, + "src": "8121:2:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 831, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 765, + "src": "8125:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 828, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1073, + "src": "8095:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8095:37:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 833, + "nodeType": "ExpressionStatement", + "src": "8095:37:3" + } + ] + }, + "documentation": { + "id": 759, + "nodeType": "StructuredDocumentation", + "src": "7031:452:3", + "text": " @dev Moves `amount` of tokens from `sender` to `recipient`.\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 Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `from` must have a balance of at least `amount`." + }, + "id": 835, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transfer", + "nameLocation": "7497:9:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 766, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 761, + "mutability": "mutable", + "name": "from", + "nameLocation": "7524:4:3", + "nodeType": "VariableDeclaration", + "scope": 835, + "src": "7516:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 760, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7516:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 763, + "mutability": "mutable", + "name": "to", + "nameLocation": "7546:2:3", + "nodeType": "VariableDeclaration", + "scope": 835, + "src": "7538:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 762, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7538:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 765, + "mutability": "mutable", + "name": "amount", + "nameLocation": "7566:6:3", + "nodeType": "VariableDeclaration", + "scope": 835, + "src": "7558:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 764, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7558:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7506:72:3" + }, + "returnParameters": { + "id": 767, + "nodeType": "ParameterList", + "parameters": [], + "src": "7596:0:3" + }, + "scope": 1074, + "src": "7488:651:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 890, + "nodeType": "Block", + "src": "8480:324:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 844, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "8498:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8517:1:3", + "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": 846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8509:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8509:7:3", + "typeDescriptions": {} + } + }, + "id": 848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8509:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "8498:21:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206d696e7420746f20746865207a65726f2061646472657373", + "id": 850, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8521:33:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "typeString": "literal_string \"ERC20: mint to the zero address\"" + }, + "value": "ERC20: mint to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fc0b381caf0a47702017f3c4b358ebe3d3aff6c60ce819a8bf3ef5a95d4f202e", + "typeString": "literal_string \"ERC20: mint to the zero address\"" + } + ], + "id": 843, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "8490:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8490:65:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 852, + "nodeType": "ExpressionStatement", + "src": "8490:65:3" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8595:1:3", + "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": 855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8587:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 854, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8587:7:3", + "typeDescriptions": {} + } + }, + "id": 857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8587:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 858, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "8599:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 859, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 840, + "src": "8608:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 853, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1062, + "src": "8566:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8566:49:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 861, + "nodeType": "ExpressionStatement", + "src": "8566:49:3" + }, + { + "expression": { + "id": 864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 862, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "8626:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 863, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 840, + "src": "8642:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8626:22:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 865, + "nodeType": "ExpressionStatement", + "src": "8626:22:3" + }, + { + "expression": { + "id": 870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 866, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "8658:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 868, + "indexExpression": { + "id": 867, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "8668:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "8658:18:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "id": 869, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 840, + "src": "8680:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "8658:28:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 871, + "nodeType": "ExpressionStatement", + "src": "8658:28:3" + }, + { + "eventCall": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8718:1:3", + "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": 874, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8710:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 873, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8710:7:3", + "typeDescriptions": {} + } + }, + "id": 876, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8710:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 877, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "8722:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 878, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 840, + "src": "8731:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 872, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1142, + "src": "8701:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8701:37:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 880, + "nodeType": "EmitStatement", + "src": "8696:42:3" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8777:1:3", + "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": 883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "8769:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 882, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8769:7:3", + "typeDescriptions": {} + } + }, + "id": 885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8769:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 886, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "8781:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 887, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 840, + "src": "8790:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 881, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1073, + "src": "8749:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 888, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8749:48:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 889, + "nodeType": "ExpressionStatement", + "src": "8749:48:3" + } + ] + }, + "documentation": { + "id": 836, + "nodeType": "StructuredDocumentation", + "src": "8145:265:3", + "text": "@dev Creates `amount` tokens and assigns them to `account`, increasing\n the total supply.\n Emits a {Transfer} event with `from` set to the zero address.\n Requirements:\n - `account` cannot be the zero address." + }, + "id": 891, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_mint", + "nameLocation": "8424:5:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 841, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 838, + "mutability": "mutable", + "name": "account", + "nameLocation": "8438:7:3", + "nodeType": "VariableDeclaration", + "scope": 891, + "src": "8430:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8430:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 840, + "mutability": "mutable", + "name": "amount", + "nameLocation": "8455:6:3", + "nodeType": "VariableDeclaration", + "scope": 891, + "src": "8447:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 839, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "8447:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8429:33:3" + }, + "returnParameters": { + "id": 842, + "nodeType": "ParameterList", + "parameters": [], + "src": "8480:0:3" + }, + "scope": 1074, + "src": "8415:389:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 962, + "nodeType": "Block", + "src": "9189:511:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 905, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 900, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 894, + "src": "9207:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 903, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9226:1:3", + "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": 902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9218:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 901, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9218:7:3", + "typeDescriptions": {} + } + }, + "id": 904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9218:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "9207:21:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206275726e2066726f6d20746865207a65726f2061646472657373", + "id": 906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9230:35:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "typeString": "literal_string \"ERC20: burn from the zero address\"" + }, + "value": "ERC20: burn from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b16788493b576042bb52c50ed56189e0b250db113c7bfb1c3897d25cf9632d7f", + "typeString": "literal_string \"ERC20: burn from the zero address\"" + } + ], + "id": 899, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9199:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9199:67:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 908, + "nodeType": "ExpressionStatement", + "src": "9199:67:3" + }, + { + "expression": { + "arguments": [ + { + "id": 910, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 894, + "src": "9298:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9315:1:3", + "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": 912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9307:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 911, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9307:7:3", + "typeDescriptions": {} + } + }, + "id": 914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9307:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 915, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 896, + "src": "9319:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 909, + "name": "_beforeTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1062, + "src": "9277:20:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 916, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9277:49:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 917, + "nodeType": "ExpressionStatement", + "src": "9277:49:3" + }, + { + "assignments": [ + 919 + ], + "declarations": [ + { + "constant": false, + "id": 919, + "mutability": "mutable", + "name": "accountBalance", + "nameLocation": "9345:14:3", + "nodeType": "VariableDeclaration", + "scope": 962, + "src": "9337:22:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 918, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9337:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 923, + "initialValue": { + "baseExpression": { + "id": 920, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "9362:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 922, + "indexExpression": { + "id": 921, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 894, + "src": "9372:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "9362:18:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "9337:43:3" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 925, + "name": "accountBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 919, + "src": "9398:14:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 926, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 896, + "src": "9416:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9398:24:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a206275726e20616d6f756e7420657863656564732062616c616e6365", + "id": 928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9424:36:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" + }, + "value": "ERC20: burn amount exceeds balance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_149b126e7125232b4200af45303d04fba8b74653b1a295a6a561a528c33fefdd", + "typeString": "literal_string \"ERC20: burn amount exceeds balance\"" + } + ], + "id": 924, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "9390:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9390:71:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 930, + "nodeType": "ExpressionStatement", + "src": "9390:71:3" + }, + { + "id": 939, + "nodeType": "UncheckedBlock", + "src": "9471:79:3", + "statements": [ + { + "expression": { + "id": 937, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 931, + "name": "_balances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 502, + "src": "9495:9:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 933, + "indexExpression": { + "id": 932, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 894, + "src": "9505:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "9495:18:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 934, + "name": "accountBalance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 919, + "src": "9516:14:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 935, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 896, + "src": "9533:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9516:23:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9495:44:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 938, + "nodeType": "ExpressionStatement", + "src": "9495:44:3" + } + ] + }, + { + "expression": { + "id": 942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 940, + "name": "_totalSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 510, + "src": "9559:12:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "id": 941, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 896, + "src": "9575:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "9559:22:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 943, + "nodeType": "ExpressionStatement", + "src": "9559:22:3" + }, + { + "eventCall": { + "arguments": [ + { + "id": 945, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 894, + "src": "9606:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9623:1:3", + "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": 947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9615:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 946, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9615:7:3", + "typeDescriptions": {} + } + }, + "id": 949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9615:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 950, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 896, + "src": "9627:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 944, + "name": "Transfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1142, + "src": "9597:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9597:37:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 952, + "nodeType": "EmitStatement", + "src": "9592:42:3" + }, + { + "expression": { + "arguments": [ + { + "id": 954, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 894, + "src": "9665:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [ + { + "hexValue": "30", + "id": 957, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9682:1:3", + "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": 956, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "9674:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 955, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9674:7:3", + "typeDescriptions": {} + } + }, + "id": 958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9674:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 959, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 896, + "src": "9686:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 953, + "name": "_afterTokenTransfer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1073, + "src": "9645:19:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 960, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9645:48:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 961, + "nodeType": "ExpressionStatement", + "src": "9645:48:3" + } + ] + }, + "documentation": { + "id": 892, + "nodeType": "StructuredDocumentation", + "src": "8810:309:3", + "text": " @dev Destroys `amount` tokens from `account`, reducing the\n total supply.\n Emits a {Transfer} event with `to` set to the zero address.\n Requirements:\n - `account` cannot be the zero address.\n - `account` must have at least `amount` tokens." + }, + "id": 963, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_burn", + "nameLocation": "9133:5:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 894, + "mutability": "mutable", + "name": "account", + "nameLocation": "9147:7:3", + "nodeType": "VariableDeclaration", + "scope": 963, + "src": "9139:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 893, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9139:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 896, + "mutability": "mutable", + "name": "amount", + "nameLocation": "9164:6:3", + "nodeType": "VariableDeclaration", + "scope": 963, + "src": "9156:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 895, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "9156:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9138:33:3" + }, + "returnParameters": { + "id": 898, + "nodeType": "ParameterList", + "parameters": [], + "src": "9189:0:3" + }, + "scope": 1074, + "src": "9124:576:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1007, + "nodeType": "Block", + "src": "10236:257:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 979, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 974, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "10254:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10271:1:3", + "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": 976, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10263:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 975, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10263:7:3", + "typeDescriptions": {} + } + }, + "id": 978, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10263:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10254:19:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20617070726f76652066726f6d20746865207a65726f2061646472657373", + "id": 980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10275:38:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "typeString": "literal_string \"ERC20: approve from the zero address\"" + }, + "value": "ERC20: approve from the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_c953f4879035ed60e766b34720f656aab5c697b141d924c283124ecedb91c208", + "typeString": "literal_string \"ERC20: approve from the zero address\"" + } + ], + "id": 973, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10246:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 981, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10246:68:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 982, + "nodeType": "ExpressionStatement", + "src": "10246:68:3" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 984, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 968, + "src": "10332:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10351:1:3", + "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": 986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10343:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 985, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10343:7:3", + "typeDescriptions": {} + } + }, + "id": 988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10343:10:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "10332:21:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20617070726f766520746f20746865207a65726f2061646472657373", + "id": 990, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10355:36:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "typeString": "literal_string \"ERC20: approve to the zero address\"" + }, + "value": "ERC20: approve to the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_24883cc5fe64ace9d0df1893501ecb93c77180f0ff69cca79affb3c316dc8029", + "typeString": "literal_string \"ERC20: approve to the zero address\"" + } + ], + "id": 983, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "10324:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10324:68:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 992, + "nodeType": "ExpressionStatement", + "src": "10324:68:3" + }, + { + "expression": { + "id": 999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 993, + "name": "_allowances", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 508, + "src": "10403:11:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_mapping$_t_address_$_t_uint256_$_$", + "typeString": "mapping(address => mapping(address => uint256))" + } + }, + "id": 996, + "indexExpression": { + "id": 994, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "10415:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "10403:18:3", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_uint256_$", + "typeString": "mapping(address => uint256)" + } + }, + "id": 997, + "indexExpression": { + "id": 995, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 968, + "src": "10422:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "10403:27:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 998, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 970, + "src": "10433:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10403:36:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1000, + "nodeType": "ExpressionStatement", + "src": "10403:36:3" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1002, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 966, + "src": "10463:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1003, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 968, + "src": "10470:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1004, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 970, + "src": "10479:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1001, + "name": "Approval", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1151, + "src": "10454:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10454:32:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1006, + "nodeType": "EmitStatement", + "src": "10449:37:3" + } + ] + }, + "documentation": { + "id": 964, + "nodeType": "StructuredDocumentation", + "src": "9706:412:3", + "text": " @dev Sets `amount` 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." + }, + "id": 1008, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_approve", + "nameLocation": "10132:8:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 971, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 966, + "mutability": "mutable", + "name": "owner", + "nameLocation": "10158:5:3", + "nodeType": "VariableDeclaration", + "scope": 1008, + "src": "10150:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 965, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10150:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 968, + "mutability": "mutable", + "name": "spender", + "nameLocation": "10181:7:3", + "nodeType": "VariableDeclaration", + "scope": 1008, + "src": "10173:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 967, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10173:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 970, + "mutability": "mutable", + "name": "amount", + "nameLocation": "10206:6:3", + "nodeType": "VariableDeclaration", + "scope": 1008, + "src": "10198:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 969, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10198:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10140:78:3" + }, + "returnParameters": { + "id": 972, + "nodeType": "ParameterList", + "parameters": [], + "src": "10236:0:3" + }, + "scope": 1074, + "src": "10123:370:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1050, + "nodeType": "Block", + "src": "10890:321:3", + "statements": [ + { + "assignments": [ + 1019 + ], + "declarations": [ + { + "constant": false, + "id": 1019, + "mutability": "mutable", + "name": "currentAllowance", + "nameLocation": "10908:16:3", + "nodeType": "VariableDeclaration", + "scope": 1050, + "src": "10900:24:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1018, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10900:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1024, + "initialValue": { + "arguments": [ + { + "id": 1021, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1011, + "src": "10937:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1022, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "10944:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1020, + "name": "allowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 628, + "src": "10927:9:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$_t_address_$returns$_t_uint256_$", + "typeString": "function (address,address) view returns (uint256)" + } + }, + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10927:25:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "10900:52:3" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1025, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "10966:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 1028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "10991:7:3", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1027, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10991:7:3", + "typeDescriptions": {} + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + } + ], + "id": 1026, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "10986:4:3", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1029, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10986:13:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_uint256", + "typeString": "type(uint256)" + } + }, + "id": 1030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "max", + "nodeType": "MemberAccess", + "src": "10986:17:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "10966:37:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1049, + "nodeType": "IfStatement", + "src": "10962:243:3", + "trueBody": { + "id": 1048, + "nodeType": "Block", + "src": "11005:200:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1033, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "11027:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">=", + "rightExpression": { + "id": 1034, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1015, + "src": "11047:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11027:26:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "45524332303a20696e73756666696369656e7420616c6c6f77616e6365", + "id": 1036, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11055:31:3", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "typeString": "literal_string \"ERC20: insufficient allowance\"" + }, + "value": "ERC20: insufficient allowance" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3b6607e091cba9325f958656d2b5e0622ab7dc0eac71a26ac788cb25bc19f4fe", + "typeString": "literal_string \"ERC20: insufficient allowance\"" + } + ], + "id": 1032, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "11019:7:3", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1037, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11019:68:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1038, + "nodeType": "ExpressionStatement", + "src": "11019:68:3" + }, + { + "id": 1047, + "nodeType": "UncheckedBlock", + "src": "11101:94:3", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1040, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1011, + "src": "11138:5:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1041, + "name": "spender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1013, + "src": "11145:7:3", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1042, + "name": "currentAllowance", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1019, + "src": "11154:16:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "id": 1043, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1015, + "src": "11173:6:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "11154:25:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1039, + "name": "_approve", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1008, + "src": "11129:8:3", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,address,uint256)" + } + }, + "id": 1045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11129:51:3", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1046, + "nodeType": "ExpressionStatement", + "src": "11129:51:3" + } + ] + } + ] + } + } + ] + }, + "documentation": { + "id": 1009, + "nodeType": "StructuredDocumentation", + "src": "10499:266:3", + "text": " @dev Spend `amount` form the allowance of `owner` toward `spender`.\n Does not update the allowance amount in case of infinite allowance.\n Revert if not enough allowance is available.\n Might emit an {Approval} event." + }, + "id": 1051, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_spendAllowance", + "nameLocation": "10779:15:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1016, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1011, + "mutability": "mutable", + "name": "owner", + "nameLocation": "10812:5:3", + "nodeType": "VariableDeclaration", + "scope": 1051, + "src": "10804:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1010, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10804:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1013, + "mutability": "mutable", + "name": "spender", + "nameLocation": "10835:7:3", + "nodeType": "VariableDeclaration", + "scope": 1051, + "src": "10827:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1012, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10827:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1015, + "mutability": "mutable", + "name": "amount", + "nameLocation": "10860:6:3", + "nodeType": "VariableDeclaration", + "scope": 1051, + "src": "10852:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1014, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "10852:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10794:78:3" + }, + "returnParameters": { + "id": 1017, + "nodeType": "ParameterList", + "parameters": [], + "src": "10890:0:3" + }, + "scope": 1074, + "src": "10770:441:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1061, + "nodeType": "Block", + "src": "11914:2:3", + "statements": [] + }, + "documentation": { + "id": 1052, + "nodeType": "StructuredDocumentation", + "src": "11217:573:3", + "text": " @dev Hook that is called before any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n will be transferred to `to`.\n - when `from` is zero, `amount` tokens will be minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens will be burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "id": 1062, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_beforeTokenTransfer", + "nameLocation": "11804:20:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1054, + "mutability": "mutable", + "name": "from", + "nameLocation": "11842:4:3", + "nodeType": "VariableDeclaration", + "scope": 1062, + "src": "11834:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1053, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11834:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1056, + "mutability": "mutable", + "name": "to", + "nameLocation": "11864:2:3", + "nodeType": "VariableDeclaration", + "scope": 1062, + "src": "11856:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1055, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11856:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1058, + "mutability": "mutable", + "name": "amount", + "nameLocation": "11884:6:3", + "nodeType": "VariableDeclaration", + "scope": 1062, + "src": "11876:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1057, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "11876:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11824:72:3" + }, + "returnParameters": { + "id": 1060, + "nodeType": "ParameterList", + "parameters": [], + "src": "11914:0:3" + }, + "scope": 1074, + "src": "11795:121:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1072, + "nodeType": "Block", + "src": "12622:2:3", + "statements": [] + }, + "documentation": { + "id": 1063, + "nodeType": "StructuredDocumentation", + "src": "11922:577:3", + "text": " @dev Hook that is called after any transfer of tokens. This includes\n minting and burning.\n Calling conditions:\n - when `from` and `to` are both non-zero, `amount` of ``from``'s tokens\n has been transferred to `to`.\n - when `from` is zero, `amount` tokens have been minted for `to`.\n - when `to` is zero, `amount` of ``from``'s tokens have been burned.\n - `from` and `to` are never both zero.\n To learn more about hooks, head to xref:ROOT:extending-contracts.adoc#using-hooks[Using Hooks]." + }, + "id": 1073, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_afterTokenTransfer", + "nameLocation": "12513:19:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1070, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1065, + "mutability": "mutable", + "name": "from", + "nameLocation": "12550:4:3", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "12542:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1064, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12542:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1067, + "mutability": "mutable", + "name": "to", + "nameLocation": "12572:2:3", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "12564:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1066, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12564:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1069, + "mutability": "mutable", + "name": "amount", + "nameLocation": "12592:6:3", + "nodeType": "VariableDeclaration", + "scope": 1073, + "src": "12584:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1068, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "12584:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12532:72:3" + }, + "returnParameters": { + "id": 1071, + "nodeType": "ParameterList", + "parameters": [], + "src": "12622:0:3" + }, + "scope": 1074, + "src": "12504:120:3", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 1075, + "src": "1403:11223:3", + "usedErrors": [] + } + ], + "src": "105:12522:3" + }, + "id": 3 + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "exportedSymbols": { + "IERC20": [ + 1152 + ] + }, + "id": 1153, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1076, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "106:23:4" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1077, + "nodeType": "StructuredDocumentation", + "src": "131:70:4", + "text": " @dev Interface of the ERC20 standard as defined in the EIP." + }, + "fullyImplemented": false, + "id": 1152, + "linearizedBaseContracts": [ + 1152 + ], + "name": "IERC20", + "nameLocation": "212:6:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1078, + "nodeType": "StructuredDocumentation", + "src": "225:66:4", + "text": " @dev Returns the amount of tokens in existence." + }, + "functionSelector": "18160ddd", + "id": 1083, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "305:11:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1079, + "nodeType": "ParameterList", + "parameters": [], + "src": "316:2:4" + }, + "returnParameters": { + "id": 1082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1081, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1083, + "src": "342:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1080, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "342:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "341:9:4" + }, + "scope": 1152, + "src": "296:55:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1084, + "nodeType": "StructuredDocumentation", + "src": "357:72:4", + "text": " @dev Returns the amount of tokens owned by `account`." + }, + "functionSelector": "70a08231", + "id": 1091, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "443:9:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1087, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1086, + "mutability": "mutable", + "name": "account", + "nameLocation": "461:7:4", + "nodeType": "VariableDeclaration", + "scope": 1091, + "src": "453:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1085, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "453:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "452:17:4" + }, + "returnParameters": { + "id": 1090, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1089, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1091, + "src": "493:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1088, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "493:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "492:9:4" + }, + "scope": 1152, + "src": "434:68:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1092, + "nodeType": "StructuredDocumentation", + "src": "508:202:4", + "text": " @dev Moves `amount` 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", + "id": 1101, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "724:8:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1097, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1094, + "mutability": "mutable", + "name": "to", + "nameLocation": "741:2:4", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "733:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1093, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "733:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1096, + "mutability": "mutable", + "name": "amount", + "nameLocation": "753:6:4", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "745:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1095, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "732:28:4" + }, + "returnParameters": { + "id": 1100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1099, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1101, + "src": "779:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1098, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "779:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "778:6:4" + }, + "scope": 1152, + "src": "715:70:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1102, + "nodeType": "StructuredDocumentation", + "src": "791:264:4", + "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", + "id": 1111, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "1069:9:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1107, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1104, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1087:5:4", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "1079:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1103, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1079:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1106, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1102:7:4", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "1094:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1105, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1094:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1078:32:4" + }, + "returnParameters": { + "id": 1110, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1109, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1111, + "src": "1134:7:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1108, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1134:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1133:9:4" + }, + "scope": 1152, + "src": "1060:83:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1112, + "nodeType": "StructuredDocumentation", + "src": "1149:642:4", + "text": " @dev Sets `amount` as the allowance of `spender` over the 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", + "id": 1121, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "1805:7:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1117, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1114, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1821:7:4", + "nodeType": "VariableDeclaration", + "scope": 1121, + "src": "1813:15:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1113, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1813:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1116, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1838:6:4", + "nodeType": "VariableDeclaration", + "scope": 1121, + "src": "1830:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1115, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1830:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1812:33:4" + }, + "returnParameters": { + "id": 1120, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1119, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1121, + "src": "1864:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1118, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1864:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1863:6:4" + }, + "scope": 1152, + "src": "1796:74:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1122, + "nodeType": "StructuredDocumentation", + "src": "1876:287:4", + "text": " @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` 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", + "id": 1133, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "2177:12:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1129, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1124, + "mutability": "mutable", + "name": "from", + "nameLocation": "2207:4:4", + "nodeType": "VariableDeclaration", + "scope": 1133, + "src": "2199:12:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1123, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2199:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1126, + "mutability": "mutable", + "name": "to", + "nameLocation": "2229:2:4", + "nodeType": "VariableDeclaration", + "scope": 1133, + "src": "2221:10:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2221:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1128, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2249:6:4", + "nodeType": "VariableDeclaration", + "scope": 1133, + "src": "2241:14:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1127, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2241:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2189:72:4" + }, + "returnParameters": { + "id": 1132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1131, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1133, + "src": "2280:4:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1130, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2280:4:4", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2279:6:4" + }, + "scope": 1152, + "src": "2168:118:4", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "anonymous": false, + "documentation": { + "id": 1134, + "nodeType": "StructuredDocumentation", + "src": "2292:158:4", + "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." + }, + "id": 1142, + "name": "Transfer", + "nameLocation": "2461:8:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 1141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1136, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "2486:4:4", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "2470:20:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1135, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2470:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1138, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2508:2:4", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "2492:18:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1137, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2492:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1140, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "2520:5:4", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "2512:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1139, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2512:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2469:57:4" + }, + "src": "2455:72:4" + }, + { + "anonymous": false, + "documentation": { + "id": 1143, + "nodeType": "StructuredDocumentation", + "src": "2533:148:4", + "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." + }, + "id": 1151, + "name": "Approval", + "nameLocation": "2692:8:4", + "nodeType": "EventDefinition", + "parameters": { + "id": 1150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1145, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2717:5:4", + "nodeType": "VariableDeclaration", + "scope": 1151, + "src": "2701:21:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1144, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2701:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1147, + "indexed": true, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2740:7:4", + "nodeType": "VariableDeclaration", + "scope": 1151, + "src": "2724:23:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1146, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2724:7:4", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1149, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "2757:5:4", + "nodeType": "VariableDeclaration", + "scope": 1151, + "src": "2749:13:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1148, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2749:7:4", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2700:63:4" + }, + "src": "2686:78:4" + } + ], + "scope": 1153, + "src": "202:2564:4", + "usedErrors": [] + } + ], + "src": "106:2661:4" + }, + "id": 4 + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "exportedSymbols": { + "IERC20": [ + 1152 + ], + "IERC20Metadata": [ + 1177 + ] + }, + "id": 1178, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1154, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "110:23:5" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "../IERC20.sol", + "id": 1155, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1178, + "sourceUnit": 1153, + "src": "135:23:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1157, + "name": "IERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1152, + "src": "305:6:5" + }, + "id": 1158, + "nodeType": "InheritanceSpecifier", + "src": "305:6:5" + } + ], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1156, + "nodeType": "StructuredDocumentation", + "src": "160:116:5", + "text": " @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._" + }, + "fullyImplemented": false, + "id": 1177, + "linearizedBaseContracts": [ + 1177, + 1152 + ], + "name": "IERC20Metadata", + "nameLocation": "287:14:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1159, + "nodeType": "StructuredDocumentation", + "src": "318:54:5", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "id": 1164, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "386:4:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1160, + "nodeType": "ParameterList", + "parameters": [], + "src": "390:2:5" + }, + "returnParameters": { + "id": 1163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1162, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1164, + "src": "416:13:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1161, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "416:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "415:15:5" + }, + "scope": 1177, + "src": "377:54:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1165, + "nodeType": "StructuredDocumentation", + "src": "437:56:5", + "text": " @dev Returns the symbol of the token." + }, + "functionSelector": "95d89b41", + "id": 1170, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "507:6:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1166, + "nodeType": "ParameterList", + "parameters": [], + "src": "513:2:5" + }, + "returnParameters": { + "id": 1169, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1168, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1170, + "src": "539:13:5", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1167, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "539:6:5", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "538:15:5" + }, + "scope": 1177, + "src": "498:56:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1171, + "nodeType": "StructuredDocumentation", + "src": "560:65:5", + "text": " @dev Returns the decimals places of the token." + }, + "functionSelector": "313ce567", + "id": 1176, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "639:8:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1172, + "nodeType": "ParameterList", + "parameters": [], + "src": "647:2:5" + }, + "returnParameters": { + "id": 1175, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1174, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1176, + "src": "673:5:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 1173, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "673:5:5", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "672:7:5" + }, + "scope": 1177, + "src": "630:50:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1178, + "src": "277:405:5", + "usedErrors": [] + } + ], + "src": "110:573:5" + }, + "id": 5 + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "exportedSymbols": { + "IERC165": [ + 1659 + ], + "IERC721": [ + 1293 + ] + }, + "id": 1294, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1179, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "93:23:6" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "../../utils/introspection/IERC165.sol", + "id": 1180, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1294, + "sourceUnit": 1660, + "src": "118:47:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1182, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1659, + "src": "256:7:6" + }, + "id": 1183, + "nodeType": "InheritanceSpecifier", + "src": "256:7:6" + } + ], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1181, + "nodeType": "StructuredDocumentation", + "src": "167:67:6", + "text": " @dev Required interface of an ERC721 compliant contract." + }, + "fullyImplemented": false, + "id": 1293, + "linearizedBaseContracts": [ + 1293, + 1659 + ], + "name": "IERC721", + "nameLocation": "245:7:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 1184, + "nodeType": "StructuredDocumentation", + "src": "270:88:6", + "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." + }, + "id": 1192, + "name": "Transfer", + "nameLocation": "369:8:6", + "nodeType": "EventDefinition", + "parameters": { + "id": 1191, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1186, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "394:4:6", + "nodeType": "VariableDeclaration", + "scope": 1192, + "src": "378:20:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1185, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "378:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1188, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "416:2:6", + "nodeType": "VariableDeclaration", + "scope": 1192, + "src": "400:18:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1187, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "400:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1190, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "436:7:6", + "nodeType": "VariableDeclaration", + "scope": 1192, + "src": "420:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1189, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "420:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "377:67:6" + }, + "src": "363:82:6" + }, + { + "anonymous": false, + "documentation": { + "id": 1193, + "nodeType": "StructuredDocumentation", + "src": "451:94:6", + "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." + }, + "id": 1201, + "name": "Approval", + "nameLocation": "556:8:6", + "nodeType": "EventDefinition", + "parameters": { + "id": 1200, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1195, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "581:5:6", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "565:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1194, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "565:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1197, + "indexed": true, + "mutability": "mutable", + "name": "approved", + "nameLocation": "604:8:6", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "588:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1196, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "588:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1199, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "630:7:6", + "nodeType": "VariableDeclaration", + "scope": 1201, + "src": "614:23:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1198, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "564:74:6" + }, + "src": "550:89:6" + }, + { + "anonymous": false, + "documentation": { + "id": 1202, + "nodeType": "StructuredDocumentation", + "src": "645:117:6", + "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." + }, + "id": 1210, + "name": "ApprovalForAll", + "nameLocation": "773:14:6", + "nodeType": "EventDefinition", + "parameters": { + "id": 1209, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1204, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "804:5:6", + "nodeType": "VariableDeclaration", + "scope": 1210, + "src": "788:21:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "788:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1206, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "827:8:6", + "nodeType": "VariableDeclaration", + "scope": 1210, + "src": "811:24:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1205, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "811:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1208, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "842:8:6", + "nodeType": "VariableDeclaration", + "scope": 1210, + "src": "837:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1207, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "837:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "787:64:6" + }, + "src": "767:85:6" + }, + { + "documentation": { + "id": 1211, + "nodeType": "StructuredDocumentation", + "src": "858:76:6", + "text": " @dev Returns the number of tokens in ``owner``'s account." + }, + "functionSelector": "70a08231", + "id": 1218, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "948:9:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1214, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1213, + "mutability": "mutable", + "name": "owner", + "nameLocation": "966:5:6", + "nodeType": "VariableDeclaration", + "scope": 1218, + "src": "958:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "958:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "957:15:6" + }, + "returnParameters": { + "id": 1217, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1216, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1004:7:6", + "nodeType": "VariableDeclaration", + "scope": 1218, + "src": "996:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1215, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "996:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "995:17:6" + }, + "scope": 1293, + "src": "939:74:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1219, + "nodeType": "StructuredDocumentation", + "src": "1019:131:6", + "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "6352211e", + "id": 1226, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "1164:7:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1222, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1221, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1180:7:6", + "nodeType": "VariableDeclaration", + "scope": 1226, + "src": "1172:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1220, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1172:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1171:17:6" + }, + "returnParameters": { + "id": 1225, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1224, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1220:5:6", + "nodeType": "VariableDeclaration", + "scope": 1226, + "src": "1212:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1223, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1212:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1211:15:6" + }, + "scope": 1293, + "src": "1155:72:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1227, + "nodeType": "StructuredDocumentation", + "src": "1233:690:6", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "42842e0e", + "id": 1236, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "1937:16:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1234, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1229, + "mutability": "mutable", + "name": "from", + "nameLocation": "1971:4:6", + "nodeType": "VariableDeclaration", + "scope": 1236, + "src": "1963:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1228, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1963:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1231, + "mutability": "mutable", + "name": "to", + "nameLocation": "1993:2:6", + "nodeType": "VariableDeclaration", + "scope": 1236, + "src": "1985:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1230, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1985:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1233, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2013:7:6", + "nodeType": "VariableDeclaration", + "scope": 1236, + "src": "2005:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1232, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2005:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1953:73:6" + }, + "returnParameters": { + "id": 1235, + "nodeType": "ParameterList", + "parameters": [], + "src": "2035:0:6" + }, + "scope": 1293, + "src": "1928:108:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1237, + "nodeType": "StructuredDocumentation", + "src": "2042:504:6", + "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event." + }, + "functionSelector": "23b872dd", + "id": 1246, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "2560:12:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1244, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1239, + "mutability": "mutable", + "name": "from", + "nameLocation": "2590:4:6", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "2582:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1238, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2582:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1241, + "mutability": "mutable", + "name": "to", + "nameLocation": "2612:2:6", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "2604:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2604:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1243, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2632:7:6", + "nodeType": "VariableDeclaration", + "scope": 1246, + "src": "2624:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1242, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2624:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2572:73:6" + }, + "returnParameters": { + "id": 1245, + "nodeType": "ParameterList", + "parameters": [], + "src": "2654:0:6" + }, + "scope": 1293, + "src": "2551:104:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1247, + "nodeType": "StructuredDocumentation", + "src": "2661:452:6", + "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event." + }, + "functionSelector": "095ea7b3", + "id": 1254, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "3127:7:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1252, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1249, + "mutability": "mutable", + "name": "to", + "nameLocation": "3143:2:6", + "nodeType": "VariableDeclaration", + "scope": 1254, + "src": "3135:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3135:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1251, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3155:7:6", + "nodeType": "VariableDeclaration", + "scope": 1254, + "src": "3147:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1250, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3147:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3134:29:6" + }, + "returnParameters": { + "id": 1253, + "nodeType": "ParameterList", + "parameters": [], + "src": "3172:0:6" + }, + "scope": 1293, + "src": "3118:55:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1255, + "nodeType": "StructuredDocumentation", + "src": "3179:139:6", + "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "081812fc", + "id": 1262, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nameLocation": "3332:11:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1258, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1257, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3352:7:6", + "nodeType": "VariableDeclaration", + "scope": 1262, + "src": "3344:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1256, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3344:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3343:17:6" + }, + "returnParameters": { + "id": 1261, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1260, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3392:8:6", + "nodeType": "VariableDeclaration", + "scope": 1262, + "src": "3384:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1259, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3384:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3383:18:6" + }, + "scope": 1293, + "src": "3323:79:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1263, + "nodeType": "StructuredDocumentation", + "src": "3408:309:6", + "text": " @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event." + }, + "functionSelector": "a22cb465", + "id": 1270, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "3731:17:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1268, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1265, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3757:8:6", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "3749:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1264, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3749:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1267, + "mutability": "mutable", + "name": "_approved", + "nameLocation": "3772:9:6", + "nodeType": "VariableDeclaration", + "scope": 1270, + "src": "3767:14:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1266, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3767:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3748:34:6" + }, + "returnParameters": { + "id": 1269, + "nodeType": "ParameterList", + "parameters": [], + "src": "3791:0:6" + }, + "scope": 1293, + "src": "3722:70:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1271, + "nodeType": "StructuredDocumentation", + "src": "3798:138:6", + "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" + }, + "functionSelector": "e985e9c5", + "id": 1280, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "3950:16:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1276, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1273, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3975:5:6", + "nodeType": "VariableDeclaration", + "scope": 1280, + "src": "3967:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1272, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3967:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1275, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3990:8:6", + "nodeType": "VariableDeclaration", + "scope": 1280, + "src": "3982:16:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1274, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3982:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3966:33:6" + }, + "returnParameters": { + "id": 1279, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1278, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1280, + "src": "4023:4:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1277, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4023:4:6", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4022:6:6" + }, + "scope": 1293, + "src": "3941:88:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1281, + "nodeType": "StructuredDocumentation", + "src": "4035:556:6", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "b88d4fde", + "id": 1292, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "4605:16:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1290, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1283, + "mutability": "mutable", + "name": "from", + "nameLocation": "4639:4:6", + "nodeType": "VariableDeclaration", + "scope": 1292, + "src": "4631:12:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1282, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4631:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1285, + "mutability": "mutable", + "name": "to", + "nameLocation": "4661:2:6", + "nodeType": "VariableDeclaration", + "scope": 1292, + "src": "4653:10:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1284, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4653:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1287, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4681:7:6", + "nodeType": "VariableDeclaration", + "scope": 1292, + "src": "4673:15:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1286, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4673:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1289, + "mutability": "mutable", + "name": "data", + "nameLocation": "4713:4:6", + "nodeType": "VariableDeclaration", + "scope": 1292, + "src": "4698:19:6", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1288, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4698:5:6", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4621:102:6" + }, + "returnParameters": { + "id": 1291, + "nodeType": "ParameterList", + "parameters": [], + "src": "4732:0:6" + }, + "scope": 1293, + "src": "4596:137:6", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1294, + "src": "235:4500:6", + "usedErrors": [] + } + ], + "src": "93:4643:6" + }, + "id": 6 + }, + "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol", + "exportedSymbols": { + "IERC165": [ + 1659 + ], + "IERC721": [ + 1293 + ], + "IERC721Enumerable": [ + 1324 + ] + }, + "id": 1325, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1295, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "129:23:7" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "file": "../IERC721.sol", + "id": 1296, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1325, + "sourceUnit": 1294, + "src": "154:24:7", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1298, + "name": "IERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1293, + "src": "348:7:7" + }, + "id": 1299, + "nodeType": "InheritanceSpecifier", + "src": "348:7:7" + } + ], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1297, + "nodeType": "StructuredDocumentation", + "src": "180:136:7", + "text": " @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" + }, + "fullyImplemented": false, + "id": 1324, + "linearizedBaseContracts": [ + 1324, + 1293, + 1659 + ], + "name": "IERC721Enumerable", + "nameLocation": "327:17:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1300, + "nodeType": "StructuredDocumentation", + "src": "362:82:7", + "text": " @dev Returns the total amount of tokens stored by the contract." + }, + "functionSelector": "18160ddd", + "id": 1305, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "458:11:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1301, + "nodeType": "ParameterList", + "parameters": [], + "src": "469:2:7" + }, + "returnParameters": { + "id": 1304, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1303, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1305, + "src": "495:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1302, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "495:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "494:9:7" + }, + "scope": 1324, + "src": "449:55:7", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1306, + "nodeType": "StructuredDocumentation", + "src": "510:171:7", + "text": " @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n Use along with {balanceOf} to enumerate all of ``owner``'s tokens." + }, + "functionSelector": "2f745c59", + "id": 1315, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenOfOwnerByIndex", + "nameLocation": "695:19:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1311, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1308, + "mutability": "mutable", + "name": "owner", + "nameLocation": "723:5:7", + "nodeType": "VariableDeclaration", + "scope": 1315, + "src": "715:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1307, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "715:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1310, + "mutability": "mutable", + "name": "index", + "nameLocation": "738:5:7", + "nodeType": "VariableDeclaration", + "scope": 1315, + "src": "730:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1309, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "730:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "714:30:7" + }, + "returnParameters": { + "id": 1314, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1313, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1315, + "src": "768:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1312, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "768:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "767:9:7" + }, + "scope": 1324, + "src": "686:91:7", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 1316, + "nodeType": "StructuredDocumentation", + "src": "783:164:7", + "text": " @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n Use along with {totalSupply} to enumerate all tokens." + }, + "functionSelector": "4f6ccce7", + "id": 1323, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenByIndex", + "nameLocation": "961:12:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1318, + "mutability": "mutable", + "name": "index", + "nameLocation": "982:5:7", + "nodeType": "VariableDeclaration", + "scope": 1323, + "src": "974:13:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1317, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "974:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "973:15:7" + }, + "returnParameters": { + "id": 1322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1321, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1323, + "src": "1012:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1320, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1012:7:7", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1011:9:7" + }, + "scope": 1324, + "src": "952:69:7", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1325, + "src": "317:706:7", + "usedErrors": [] + } + ], + "src": "129:895:7" + }, + "id": 7 + }, + "@openzeppelin/contracts/utils/Context.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 1346 + ] + }, + "id": 1347, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1326, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "86:23:8" + }, + { + "abstract": true, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1327, + "nodeType": "StructuredDocumentation", + "src": "111:496:8", + "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, + "id": 1346, + "linearizedBaseContracts": [ + 1346 + ], + "name": "Context", + "nameLocation": "626:7:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 1335, + "nodeType": "Block", + "src": "702:34:8", + "statements": [ + { + "expression": { + "expression": { + "id": 1332, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "719:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "719:10:8", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1331, + "id": 1334, + "nodeType": "Return", + "src": "712:17:8" + } + ] + }, + "id": 1336, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "649:10:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1328, + "nodeType": "ParameterList", + "parameters": [], + "src": "659:2:8" + }, + "returnParameters": { + "id": 1331, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1330, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1336, + "src": "693:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1329, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "693:7:8", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "692:9:8" + }, + "scope": 1346, + "src": "640:96:8", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 1344, + "nodeType": "Block", + "src": "809:32:8", + "statements": [ + { + "expression": { + "expression": { + "id": 1341, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "826:3:8", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1342, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "src": "826:8:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 1340, + "id": 1343, + "nodeType": "Return", + "src": "819:15:8" + } + ] + }, + "id": 1345, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "751:8:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1337, + "nodeType": "ParameterList", + "parameters": [], + "src": "759:2:8" + }, + "returnParameters": { + "id": 1340, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1339, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1345, + "src": "793:14:8", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1338, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "793:5:8", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "792:16:8" + }, + "scope": 1346, + "src": "742:99:8", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 1347, + "src": "608:235:8", + "usedErrors": [] + } + ], + "src": "86:758:8" + }, + "id": 8 + }, + "@openzeppelin/contracts/utils/Counters.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", + "exportedSymbols": { + "Counters": [ + 1420 + ] + }, + "id": 1421, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1348, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "87:23:9" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1349, + "nodeType": "StructuredDocumentation", + "src": "112:311:9", + "text": " @title Counters\n @author Matt Condon (@shrugs)\n @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n of elements in a mapping, issuing ERC721 ids, or counting request ids.\n Include with `using Counters for Counters.Counter;`" + }, + "fullyImplemented": true, + "id": 1420, + "linearizedBaseContracts": [ + 1420 + ], + "name": "Counters", + "nameLocation": "432:8:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Counters.Counter", + "id": 1352, + "members": [ + { + "constant": false, + "id": 1351, + "mutability": "mutable", + "name": "_value", + "nameLocation": "794:6:9", + "nodeType": "VariableDeclaration", + "scope": 1352, + "src": "786:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1350, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "786:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "Counter", + "nameLocation": "454:7:9", + "nodeType": "StructDefinition", + "scope": 1420, + "src": "447:374:9", + "visibility": "public" + }, + { + "body": { + "id": 1363, + "nodeType": "Block", + "src": "901:38:9", + "statements": [ + { + "expression": { + "expression": { + "id": 1360, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1355, + "src": "918:7:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter storage pointer" + } + }, + "id": 1361, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1351, + "src": "918:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1359, + "id": 1362, + "nodeType": "Return", + "src": "911:21:9" + } + ] + }, + "id": 1364, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "current", + "nameLocation": "836:7:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1355, + "mutability": "mutable", + "name": "counter", + "nameLocation": "860:7:9", + "nodeType": "VariableDeclaration", + "scope": 1364, + "src": "844:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 1354, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1353, + "name": "Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1352, + "src": "844:7:9" + }, + "referencedDeclaration": 1352, + "src": "844:7:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "internal" + } + ], + "src": "843:25:9" + }, + "returnParameters": { + "id": 1359, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1358, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1364, + "src": "892:7:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1357, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "891:9:9" + }, + "scope": 1420, + "src": "827:112:9", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1377, + "nodeType": "Block", + "src": "998:70:9", + "statements": [ + { + "id": 1376, + "nodeType": "UncheckedBlock", + "src": "1008:54:9", + "statements": [ + { + "expression": { + "id": 1374, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 1370, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1367, + "src": "1032:7:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter storage pointer" + } + }, + "id": 1372, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1351, + "src": "1032:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 1373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1050:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1032:19:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1375, + "nodeType": "ExpressionStatement", + "src": "1032:19:9" + } + ] + } + ] + }, + "id": 1378, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increment", + "nameLocation": "954:9:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1367, + "mutability": "mutable", + "name": "counter", + "nameLocation": "980:7:9", + "nodeType": "VariableDeclaration", + "scope": 1378, + "src": "964:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 1366, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1365, + "name": "Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1352, + "src": "964:7:9" + }, + "referencedDeclaration": 1352, + "src": "964:7:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "internal" + } + ], + "src": "963:25:9" + }, + "returnParameters": { + "id": 1369, + "nodeType": "ParameterList", + "parameters": [], + "src": "998:0:9" + }, + "scope": 1420, + "src": "945:123:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1405, + "nodeType": "Block", + "src": "1127:176:9", + "statements": [ + { + "assignments": [ + 1385 + ], + "declarations": [ + { + "constant": false, + "id": 1385, + "mutability": "mutable", + "name": "value", + "nameLocation": "1145:5:9", + "nodeType": "VariableDeclaration", + "scope": 1405, + "src": "1137:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1384, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1137:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1388, + "initialValue": { + "expression": { + "id": 1386, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "1153:7:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter storage pointer" + } + }, + "id": 1387, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1351, + "src": "1153:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1137:30:9" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1390, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1385, + "src": "1185:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 1391, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1193:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1185:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436f756e7465723a2064656372656d656e74206f766572666c6f77", + "id": 1393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1196:29:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f", + "typeString": "literal_string \"Counter: decrement overflow\"" + }, + "value": "Counter: decrement overflow" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f", + "typeString": "literal_string \"Counter: decrement overflow\"" + } + ], + "id": 1389, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1177:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1394, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1177:49:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1395, + "nodeType": "ExpressionStatement", + "src": "1177:49:9" + }, + { + "id": 1404, + "nodeType": "UncheckedBlock", + "src": "1236:61:9", + "statements": [ + { + "expression": { + "id": 1402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 1396, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1381, + "src": "1260:7:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter storage pointer" + } + }, + "id": 1398, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1351, + "src": "1260:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1399, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1385, + "src": "1277:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 1400, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1285:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1277:9:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1260:26:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1403, + "nodeType": "ExpressionStatement", + "src": "1260:26:9" + } + ] + } + ] + }, + "id": 1406, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decrement", + "nameLocation": "1083:9:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1382, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1381, + "mutability": "mutable", + "name": "counter", + "nameLocation": "1109:7:9", + "nodeType": "VariableDeclaration", + "scope": 1406, + "src": "1093:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 1380, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1379, + "name": "Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1352, + "src": "1093:7:9" + }, + "referencedDeclaration": 1352, + "src": "1093:7:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "internal" + } + ], + "src": "1092:25:9" + }, + "returnParameters": { + "id": 1383, + "nodeType": "ParameterList", + "parameters": [], + "src": "1127:0:9" + }, + "scope": 1420, + "src": "1074:229:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1418, + "nodeType": "Block", + "src": "1358:35:9", + "statements": [ + { + "expression": { + "id": 1416, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 1412, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1409, + "src": "1368:7:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter storage pointer" + } + }, + "id": 1414, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 1351, + "src": "1368:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 1415, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1385:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1368:18:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1417, + "nodeType": "ExpressionStatement", + "src": "1368:18:9" + } + ] + }, + "id": 1419, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "reset", + "nameLocation": "1318:5:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1409, + "mutability": "mutable", + "name": "counter", + "nameLocation": "1340:7:9", + "nodeType": "VariableDeclaration", + "scope": 1419, + "src": "1324:23:9", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 1408, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1407, + "name": "Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1352, + "src": "1324:7:9" + }, + "referencedDeclaration": 1352, + "src": "1324:7:9", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "internal" + } + ], + "src": "1323:25:9" + }, + "returnParameters": { + "id": 1411, + "nodeType": "ParameterList", + "parameters": [], + "src": "1358:0:9" + }, + "scope": 1420, + "src": "1309:84:9", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1421, + "src": "424:971:9", + "usedErrors": [] + } + ], + "src": "87:1309:9" + }, + "id": 9 + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", + "exportedSymbols": { + "Strings": [ + 1623 + ] + }, + "id": 1624, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1422, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "86:23:10" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 1423, + "nodeType": "StructuredDocumentation", + "src": "111:34:10", + "text": " @dev String operations." + }, + "fullyImplemented": true, + "id": 1623, + "linearizedBaseContracts": [ + 1623 + ], + "name": "Strings", + "nameLocation": "154:7:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 1426, + "mutability": "constant", + "name": "_HEX_SYMBOLS", + "nameLocation": "193:12:10", + "nodeType": "VariableDeclaration", + "scope": 1623, + "src": "168:58:10", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 1424, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "168:7:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "value": { + "hexValue": "30313233343536373839616263646566", + "id": 1425, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "208:18:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", + "typeString": "literal_string \"0123456789abcdef\"" + }, + "value": "0123456789abcdef" + }, + "visibility": "private" + }, + { + "body": { + "id": 1504, + "nodeType": "Block", + "src": "399:632:10", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1434, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "601:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "610:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "601:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1440, + "nodeType": "IfStatement", + "src": "597:51:10", + "trueBody": { + "id": 1439, + "nodeType": "Block", + "src": "613:35:10", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 1437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "634:3:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "functionReturnParameters": 1433, + "id": 1438, + "nodeType": "Return", + "src": "627:10:10" + } + ] + } + }, + { + "assignments": [ + 1442 + ], + "declarations": [ + { + "constant": false, + "id": 1442, + "mutability": "mutable", + "name": "temp", + "nameLocation": "665:4:10", + "nodeType": "VariableDeclaration", + "scope": 1504, + "src": "657:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1441, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "657:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1444, + "initialValue": { + "id": 1443, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "672:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "657:20:10" + }, + { + "assignments": [ + 1446 + ], + "declarations": [ + { + "constant": false, + "id": 1446, + "mutability": "mutable", + "name": "digits", + "nameLocation": "695:6:10", + "nodeType": "VariableDeclaration", + "scope": 1504, + "src": "687:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1445, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "687:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1447, + "nodeType": "VariableDeclarationStatement", + "src": "687:14:10" + }, + { + "body": { + "id": 1458, + "nodeType": "Block", + "src": "729:57:10", + "statements": [ + { + "expression": { + "id": 1452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "743:8:10", + "subExpression": { + "id": 1451, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "743:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1453, + "nodeType": "ExpressionStatement", + "src": "743:8:10" + }, + { + "expression": { + "id": 1456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1454, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1442, + "src": "765:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 1455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "773:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "765:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1457, + "nodeType": "ExpressionStatement", + "src": "765:10:10" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1450, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1448, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1442, + "src": "718:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 1449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "726:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "718:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1459, + "nodeType": "WhileStatement", + "src": "711:75:10" + }, + { + "assignments": [ + 1461 + ], + "declarations": [ + { + "constant": false, + "id": 1461, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "808:6:10", + "nodeType": "VariableDeclaration", + "scope": 1504, + "src": "795:19:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1460, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "795:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1466, + "initialValue": { + "arguments": [ + { + "id": 1464, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "827:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "817:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1462, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "821:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "817:17:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "795:39:10" + }, + { + "body": { + "id": 1497, + "nodeType": "Block", + "src": "863:131:10", + "statements": [ + { + "expression": { + "id": 1472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1470, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "877:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 1471, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "887:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "877:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1473, + "nodeType": "ExpressionStatement", + "src": "877:11:10" + }, + { + "expression": { + "id": 1491, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1474, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "902:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1476, + "indexExpression": { + "id": 1475, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1446, + "src": "909:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "902:14:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1488, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3438", + "id": 1481, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "932:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1486, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1484, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "945:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "3130", + "id": 1485, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "953:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "945:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1483, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "937:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1482, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "937:7:10", + "typeDescriptions": {} + } + }, + "id": 1487, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "937:19:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "932:24:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1480, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "926:5:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 1479, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "926:5:10", + "typeDescriptions": {} + } + }, + "id": 1489, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "926:31:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 1478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "919:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 1477, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "919:6:10", + "typeDescriptions": {} + } + }, + "id": 1490, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "919:39:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "902:56:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 1492, + "nodeType": "ExpressionStatement", + "src": "902:56:10" + }, + { + "expression": { + "id": 1495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1493, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "972:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 1494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "981:2:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "972:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1496, + "nodeType": "ExpressionStatement", + "src": "972:11:10" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1467, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "851:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 1468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "860:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "851:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1498, + "nodeType": "WhileStatement", + "src": "844:150:10" + }, + { + "expression": { + "arguments": [ + { + "id": 1501, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1461, + "src": "1017:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1010:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 1499, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1010:6:10", + "typeDescriptions": {} + } + }, + "id": 1502, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1010:14:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 1433, + "id": 1503, + "nodeType": "Return", + "src": "1003:21:10" + } + ] + }, + "documentation": { + "id": 1427, + "nodeType": "StructuredDocumentation", + "src": "233:90:10", + "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." + }, + "id": 1505, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "337:8:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1430, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1429, + "mutability": "mutable", + "name": "value", + "nameLocation": "354:5:10", + "nodeType": "VariableDeclaration", + "scope": 1505, + "src": "346:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1428, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "346:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "345:15:10" + }, + "returnParameters": { + "id": 1433, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1432, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1505, + "src": "384:13:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1431, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "384:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "383:15:10" + }, + "scope": 1623, + "src": "328:703:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1545, + "nodeType": "Block", + "src": "1210:255:10", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1513, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1508, + "src": "1224:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1514, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1233:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1224:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1519, + "nodeType": "IfStatement", + "src": "1220:54:10", + "trueBody": { + "id": 1518, + "nodeType": "Block", + "src": "1236:38:10", + "statements": [ + { + "expression": { + "hexValue": "30783030", + "id": 1516, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1257:6:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fae64141728105692eac6031e8a4", + "typeString": "literal_string \"0x00\"" + }, + "value": "0x00" + }, + "functionReturnParameters": 1512, + "id": 1517, + "nodeType": "Return", + "src": "1250:13:10" + } + ] + } + }, + { + "assignments": [ + 1521 + ], + "declarations": [ + { + "constant": false, + "id": 1521, + "mutability": "mutable", + "name": "temp", + "nameLocation": "1291:4:10", + "nodeType": "VariableDeclaration", + "scope": 1545, + "src": "1283:12:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1520, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1283:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1523, + "initialValue": { + "id": 1522, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1508, + "src": "1298:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1283:20:10" + }, + { + "assignments": [ + 1525 + ], + "declarations": [ + { + "constant": false, + "id": 1525, + "mutability": "mutable", + "name": "length", + "nameLocation": "1321:6:10", + "nodeType": "VariableDeclaration", + "scope": 1545, + "src": "1313:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1524, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1313:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1527, + "initialValue": { + "hexValue": "30", + "id": 1526, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1330:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1313:18:10" + }, + { + "body": { + "id": 1538, + "nodeType": "Block", + "src": "1359:57:10", + "statements": [ + { + "expression": { + "id": 1532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1373:8:10", + "subExpression": { + "id": 1531, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "1373:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1533, + "nodeType": "ExpressionStatement", + "src": "1373:8:10" + }, + { + "expression": { + "id": 1536, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1534, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "1395:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "38", + "id": 1535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1404:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "1395:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1537, + "nodeType": "ExpressionStatement", + "src": "1395:10:10" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1528, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1521, + "src": "1348:4:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 1529, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1356:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1348:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1539, + "nodeType": "WhileStatement", + "src": "1341:75:10" + }, + { + "expression": { + "arguments": [ + { + "id": 1541, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1508, + "src": "1444:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 1542, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1525, + "src": "1451:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1540, + "name": "toHexString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 1546, + 1622 + ], + "referencedDeclaration": 1622, + "src": "1432:11:10", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 1543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1432:26:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 1512, + "id": 1544, + "nodeType": "Return", + "src": "1425:33:10" + } + ] + }, + "documentation": { + "id": 1506, + "nodeType": "StructuredDocumentation", + "src": "1037:94:10", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." + }, + "id": 1546, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1145:11:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1508, + "mutability": "mutable", + "name": "value", + "nameLocation": "1165:5:10", + "nodeType": "VariableDeclaration", + "scope": 1546, + "src": "1157:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1157:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1156:15:10" + }, + "returnParameters": { + "id": 1512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1511, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1546, + "src": "1195:13:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1510, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1195:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1194:15:10" + }, + "scope": 1623, + "src": "1136:329:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1621, + "nodeType": "Block", + "src": "1678:351:10", + "statements": [ + { + "assignments": [ + 1557 + ], + "declarations": [ + { + "constant": false, + "id": 1557, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "1701:6:10", + "nodeType": "VariableDeclaration", + "scope": 1621, + "src": "1688:19:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 1556, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1688:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 1566, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1560, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1720:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1561, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1551, + "src": "1724:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1720:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "32", + "id": 1563, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1733:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1720:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 1559, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1710:9:10", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 1558, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1714:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 1565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1710:25:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1688:47:10" + }, + { + "expression": { + "id": 1571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1567, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1557, + "src": "1745:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1569, + "indexExpression": { + "hexValue": "30", + "id": 1568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1752:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1745:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 1570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1757:3:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "src": "1745:15:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 1572, + "nodeType": "ExpressionStatement", + "src": "1745:15:10" + }, + { + "expression": { + "id": 1577, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1573, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1557, + "src": "1770:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1575, + "indexExpression": { + "hexValue": "31", + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1777:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1770:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "78", + "id": 1576, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1782:3:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", + "typeString": "literal_string \"x\"" + }, + "value": "x" + }, + "src": "1770:15:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 1578, + "nodeType": "ExpressionStatement", + "src": "1770:15:10" + }, + { + "body": { + "id": 1607, + "nodeType": "Block", + "src": "1840:87:10", + "statements": [ + { + "expression": { + "id": 1601, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1593, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1557, + "src": "1854:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1595, + "indexExpression": { + "id": 1594, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1580, + "src": "1861:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1854:9:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 1596, + "name": "_HEX_SYMBOLS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1426, + "src": "1866:12:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "id": 1600, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1597, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "1879:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "307866", + "id": 1598, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1887:3:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "0xf" + }, + "src": "1879:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1866:25:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "1854:37:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 1602, + "nodeType": "ExpressionStatement", + "src": "1854:37:10" + }, + { + "expression": { + "id": 1605, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1603, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "1905:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 1604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "1905:11:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1606, + "nodeType": "ExpressionStatement", + "src": "1905:11:10" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1589, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1587, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1580, + "src": "1828:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 1588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1832:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1828:5:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1608, + "initializationExpression": { + "assignments": [ + 1580 + ], + "declarations": [ + { + "constant": false, + "id": 1580, + "mutability": "mutable", + "name": "i", + "nameLocation": "1808:1:10", + "nodeType": "VariableDeclaration", + "scope": 1608, + "src": "1800:9:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1579, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1800:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1586, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 1581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1812:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 1582, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1551, + "src": "1816:6:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1812:10:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 1584, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1825:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1812:14:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1800:26:10" + }, + "loopExpression": { + "expression": { + "id": 1591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": true, + "src": "1835:3:10", + "subExpression": { + "id": 1590, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1580, + "src": "1837:1:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1592, + "nodeType": "ExpressionStatement", + "src": "1835:3:10" + }, + "nodeType": "ForStatement", + "src": "1795:132:10" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1610, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1549, + "src": "1944:5:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1611, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1953:1:10", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1944:10:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "id": 1613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1956:34:10", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "typeString": "literal_string \"Strings: hex length insufficient\"" + }, + "value": "Strings: hex length insufficient" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "typeString": "literal_string \"Strings: hex length insufficient\"" + } + ], + "id": 1609, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1936:7:10", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1614, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1936:55:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1615, + "nodeType": "ExpressionStatement", + "src": "1936:55:10" + }, + { + "expression": { + "arguments": [ + { + "id": 1618, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1557, + "src": "2015:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1617, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2008:6:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 1616, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2008:6:10", + "typeDescriptions": {} + } + }, + "id": 1619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2008:14:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 1555, + "id": 1620, + "nodeType": "Return", + "src": "2001:21:10" + } + ] + }, + "documentation": { + "id": 1547, + "nodeType": "StructuredDocumentation", + "src": "1471:112:10", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." + }, + "id": 1622, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1597:11:10", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1552, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1549, + "mutability": "mutable", + "name": "value", + "nameLocation": "1617:5:10", + "nodeType": "VariableDeclaration", + "scope": 1622, + "src": "1609:13:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1548, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1609:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1551, + "mutability": "mutable", + "name": "length", + "nameLocation": "1632:6:10", + "nodeType": "VariableDeclaration", + "scope": 1622, + "src": "1624:14:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1550, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1624:7:10", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1608:31:10" + }, + "returnParameters": { + "id": 1555, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1554, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1622, + "src": "1663:13:10", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1553, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1663:6:10", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1662:15:10" + }, + "scope": 1623, + "src": "1588:441:10", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1624, + "src": "146:1885:10", + "usedErrors": [] + } + ], + "src": "86:1946:10" + }, + "id": 10 + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "exportedSymbols": { + "ERC165": [ + 1647 + ], + "IERC165": [ + 1659 + ] + }, + "id": 1648, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1625, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "99:23:11" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "./IERC165.sol", + "id": 1626, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1648, + "sourceUnit": 1660, + "src": "124:23:11", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1628, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1659, + "src": "754:7:11" + }, + "id": 1629, + "nodeType": "InheritanceSpecifier", + "src": "754:7:11" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1627, + "nodeType": "StructuredDocumentation", + "src": "149:576:11", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 1647, + "linearizedBaseContracts": [ + 1647, + 1659 + ], + "name": "ERC165", + "nameLocation": "744:6:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 1658 + ], + "body": { + "id": 1645, + "nodeType": "Block", + "src": "920:64:11", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 1643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1638, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1632, + "src": "937:11:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 1640, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1659, + "src": "957:7:11", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$1659_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$1659_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 1639, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "952:4:11", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1641, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "952:13:11", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$1659", + "typeString": "type(contract IERC165)" + } + }, + "id": 1642, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "952:25:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "937:40:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1637, + "id": 1644, + "nodeType": "Return", + "src": "930:47:11" + } + ] + }, + "documentation": { + "id": 1630, + "nodeType": "StructuredDocumentation", + "src": "768:56:11", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 1646, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "838:17:11", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1634, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "896:8:11" + }, + "parameters": { + "id": 1633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1632, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "863:11:11", + "nodeType": "VariableDeclaration", + "scope": 1646, + "src": "856:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1631, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "856:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "855:20:11" + }, + "returnParameters": { + "id": 1637, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1636, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1646, + "src": "914:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1635, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "914:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "913:6:11" + }, + "scope": 1647, + "src": "829:155:11", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 1648, + "src": "726:260:11", + "usedErrors": [] + } + ], + "src": "99:888:11" + }, + "id": 11 + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 1659 + ] + }, + "id": 1660, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1649, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "100:23:12" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1650, + "nodeType": "StructuredDocumentation", + "src": "125:279:12", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\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, + "id": 1659, + "linearizedBaseContracts": [ + 1659 + ], + "name": "IERC165", + "nameLocation": "415:7:12", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1651, + "nodeType": "StructuredDocumentation", + "src": "429:340:12", + "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[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 1658, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "783:17:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1654, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1653, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "808:11:12", + "nodeType": "VariableDeclaration", + "scope": 1658, + "src": "801:18:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1652, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "801:6:12", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "800:20:12" + }, + "returnParameters": { + "id": 1657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1656, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1658, + "src": "844:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1655, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "844:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "843:6:12" + }, + "scope": 1659, + "src": "774:76:12", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1660, + "src": "405:447:12", + "usedErrors": [] + } + ], + "src": "100:753:12" + }, + "id": 12 + }, + "contracts/TGPassport.sol": { + "ast": { + "absolutePath": "contracts/TGPassport.sol", + "exportedSymbols": { + "Context": [ + 1346 + ], + "Ownable": [ + 486 + ], + "TGPassport": [ + 2333 + ] + }, + "id": 2334, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1661, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "31:23:13" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 1662, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2334, + "sourceUnit": 487, + "src": "88:52:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1663, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 486, + "src": "407:7:13" + }, + "id": 1664, + "nodeType": "InheritanceSpecifier", + "src": "407:7:13" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 2333, + "linearizedBaseContracts": [ + 2333, + 486, + 1346 + ], + "name": "TGPassport", + "nameLocation": "393:10:13", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1666, + "mutability": "mutable", + "name": "_passportFee", + "nameLocation": "441:12:13", + "nodeType": "VariableDeclaration", + "scope": 2333, + "src": "428:25:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1665, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "428:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1668, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "475:6:13", + "nodeType": "VariableDeclaration", + "scope": 2333, + "src": "459:22:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1667, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "459:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "canonicalName": "TGPassport.Passport", + "id": 1679, + "members": [ + { + "constant": false, + "id": 1670, + "mutability": "mutable", + "name": "userAddress", + "nameLocation": "520:11:13", + "nodeType": "VariableDeclaration", + "scope": 1679, + "src": "512:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1669, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "512:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1672, + "mutability": "mutable", + "name": "tgId", + "nameLocation": "545:4:13", + "nodeType": "VariableDeclaration", + "scope": 1679, + "src": "539:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1671, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "539:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1674, + "mutability": "mutable", + "name": "valid", + "nameLocation": "600:5:13", + "nodeType": "VariableDeclaration", + "scope": 1679, + "src": "595:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1673, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "595:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1676, + "mutability": "mutable", + "name": "validatorAddress", + "nameLocation": "621:16:13", + "nodeType": "VariableDeclaration", + "scope": 1679, + "src": "613:24:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1675, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "613:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1678, + "mutability": "mutable", + "name": "userName", + "nameLocation": "652:8:13", + "nodeType": "VariableDeclaration", + "scope": 1679, + "src": "645:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1677, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "645:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "Passport", + "nameLocation": "495:8:13", + "nodeType": "StructDefinition", + "scope": 2333, + "src": "488:213:13", + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "9413c642", + "id": 1683, + "mutability": "mutable", + "name": "tgIdToAddress", + "nameLocation": "754:13:13", + "nodeType": "VariableDeclaration", + "scope": 2333, + "src": "721:46:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + }, + "typeName": { + "id": 1682, + "keyType": { + "id": 1680, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "729:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Mapping", + "src": "721:25:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + }, + "valueType": { + "id": 1681, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "738:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "e37c132b", + "id": 1688, + "mutability": "mutable", + "name": "passports", + "nameLocation": "808:9:13", + "nodeType": "VariableDeclaration", + "scope": 2333, + "src": "772:45:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport)" + }, + "typeName": { + "id": 1687, + "keyType": { + "id": 1684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "780:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "772:28:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport)" + }, + "valueType": { + "id": 1686, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1685, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1679, + "src": "791:8:13" + }, + "referencedDeclaration": 1679, + "src": "791:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "59cca93b", + "id": 1692, + "mutability": "mutable", + "name": "username_wallets", + "nameLocation": "856:16:13", + "nodeType": "VariableDeclaration", + "scope": 2333, + "src": "822:50:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string => address)" + }, + "typeName": { + "id": 1691, + "keyType": { + "id": 1689, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "830:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "nodeType": "Mapping", + "src": "822:26:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string => address)" + }, + "valueType": { + "id": 1690, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "840:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "239f60fa", + "id": 1698, + "mutability": "mutable", + "name": "trust_global", + "nameLocation": "992:12:13", + "nodeType": "VariableDeclaration", + "scope": 2333, + "src": "943:61:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + }, + "typeName": { + "id": 1697, + "keyType": { + "id": 1693, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "952:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Mapping", + "src": "943:41:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + }, + "valueType": { + "id": 1696, + "keyType": { + "id": 1694, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "969:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Mapping", + "src": "961:22:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_bool_$", + "typeString": "mapping(int64 => bool)" + }, + "valueType": { + "id": 1695, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "978:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "documentation": { + "id": 1699, + "nodeType": "StructuredDocumentation", + "src": "1046:379:13", + "text": " \n 1. by defult user TRUST N0 0NE.\n 2. we can get int64[] opinion_changed, so we get array of user who express trust/untrust to specific user\n 3. then we can call GetTrust(user_from,user_to) for each of result from opinion_changed, and get arrays of trusters/untrusters attached to specific user\n ..... possibly there is a better way to do it" + }, + "functionSelector": "6a8ec05e", + "id": 1704, + "mutability": "mutable", + "name": "opinion_changed", + "nameLocation": "1463:15:13", + "nodeType": "VariableDeclaration", + "scope": 2333, + "src": "1429:49:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_array$_t_int64_$dyn_storage_$", + "typeString": "mapping(int64 => int64[])" + }, + "typeName": { + "id": 1703, + "keyType": { + "id": 1700, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1438:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Mapping", + "src": "1429:26:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_array$_t_int64_$dyn_storage_$", + "typeString": "mapping(int64 => int64[])" + }, + "valueType": { + "baseType": { + "id": 1701, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1447:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "id": 1702, + "nodeType": "ArrayTypeName", + "src": "1447:7:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage_ptr", + "typeString": "int64[]" + } + } + }, + "visibility": "public" + }, + { + "anonymous": false, + "id": 1710, + "name": "passportApplied", + "nameLocation": "1510:15:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 1709, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1706, + "indexed": false, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "1532:9:13", + "nodeType": "VariableDeclaration", + "scope": 1710, + "src": "1526:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1705, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1526:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1708, + "indexed": false, + "mutability": "mutable", + "name": "wallet_address", + "nameLocation": "1551:14:13", + "nodeType": "VariableDeclaration", + "scope": 1710, + "src": "1543:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1707, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1543:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1525:41:13" + }, + "src": "1504:63:13" + }, + { + "anonymous": false, + "id": 1716, + "name": "passportAppliedIndexed", + "nameLocation": "1577:22:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 1715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1712, + "indexed": true, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "1614:9:13", + "nodeType": "VariableDeclaration", + "scope": 1716, + "src": "1600:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1711, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1600:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1714, + "indexed": false, + "mutability": "mutable", + "name": "wallet_address", + "nameLocation": "1633:14:13", + "nodeType": "VariableDeclaration", + "scope": 1716, + "src": "1625:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1713, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1625:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1599:49:13" + }, + "src": "1571:78:13" + }, + { + "anonymous": false, + "id": 1724, + "name": "passportApproved", + "nameLocation": "1659:16:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 1723, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1718, + "indexed": false, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "1682:9:13", + "nodeType": "VariableDeclaration", + "scope": 1724, + "src": "1676:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1717, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1676:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1720, + "indexed": false, + "mutability": "mutable", + "name": "wallet_address", + "nameLocation": "1701:14:13", + "nodeType": "VariableDeclaration", + "scope": 1724, + "src": "1693:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1719, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1693:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1722, + "indexed": false, + "mutability": "mutable", + "name": "issuer", + "nameLocation": "1725:6:13", + "nodeType": "VariableDeclaration", + "scope": 1724, + "src": "1717:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1721, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1717:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1675:57:13" + }, + "src": "1653:80:13" + }, + { + "anonymous": false, + "id": 1730, + "name": "passportDenied", + "nameLocation": "1743:14:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 1729, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1726, + "indexed": false, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "1764:9:13", + "nodeType": "VariableDeclaration", + "scope": 1730, + "src": "1758:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1725, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1758:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1728, + "indexed": false, + "mutability": "mutable", + "name": "wallet", + "nameLocation": "1783:6:13", + "nodeType": "VariableDeclaration", + "scope": 1730, + "src": "1775:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1727, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1775:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1757:33:13" + }, + "src": "1737:54:13" + }, + { + "anonymous": false, + "id": 1738, + "name": "TrustChanged", + "nameLocation": "1801:12:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 1737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1732, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "1820:4:13", + "nodeType": "VariableDeclaration", + "scope": 1738, + "src": "1814:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1731, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1814:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1734, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "1840:2:13", + "nodeType": "VariableDeclaration", + "scope": 1738, + "src": "1826:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1733, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1826:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1736, + "indexed": false, + "mutability": "mutable", + "name": "trust", + "nameLocation": "1849:5:13", + "nodeType": "VariableDeclaration", + "scope": 1738, + "src": "1844:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1735, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1844:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1813:42:13" + }, + "src": "1795:61:13" + }, + { + "body": { + "id": 1752, + "nodeType": "Block", + "src": "1886:90:13", + "statements": [ + { + "expression": { + "id": 1745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1743, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "1894:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31303030", + "id": 1744, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1909:8:13", + "subdenomination": "wei", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "src": "1894:23:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1746, + "nodeType": "ExpressionStatement", + "src": "1894:23:13" + }, + { + "expression": { + "id": 1750, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1747, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1668, + "src": "1954:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1748, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "1963:5:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1749, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1963:7:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1954:16:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1751, + "nodeType": "ExpressionStatement", + "src": "1954:16:13" + } + ] + }, + "id": 1753, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [], + "id": 1741, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 1740, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 486, + "src": "1876:7:13" + }, + "nodeType": "ModifierInvocation", + "src": "1876:9:13" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1739, + "nodeType": "ParameterList", + "parameters": [], + "src": "1873:2:13" + }, + "returnParameters": { + "id": 1742, + "nodeType": "ParameterList", + "parameters": [], + "src": "1886:0:13" + }, + "scope": 2333, + "src": "1862:114:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1786, + "nodeType": "Block", + "src": "2074:233:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 1763, + "name": "tgIdToAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1683, + "src": "2090:13:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 1765, + "indexExpression": { + "id": 1764, + "name": "tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "2104:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2090:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830", + "id": 1768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2121:3:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2113:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1766, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2113:7:13", + "typeDescriptions": {} + } + }, + "id": 1769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2113:12:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2090:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "54686572652773206164647265737320636f6e6e656374656420746f207468617420544720494420616c72656164792e", + "id": 1771, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2127:50:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4", + "typeString": "literal_string \"There's address connected to that TG ID already.\"" + }, + "value": "There's address connected to that TG ID already." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4", + "typeString": "literal_string \"There's address connected to that TG ID already.\"" + } + ], + "id": 1762, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2082:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2082:96:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1773, + "nodeType": "ExpressionStatement", + "src": "2082:96:13" + }, + { + "expression": { + "id": 1778, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1774, + "name": "tgIdToAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1683, + "src": "2218:13:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 1776, + "indexExpression": { + "id": 1775, + "name": "tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1755, + "src": "2232:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2218:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1777, + "name": "userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "2240:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2218:33:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1779, + "nodeType": "ExpressionStatement", + "src": "2218:33:13" + }, + { + "expression": { + "id": 1784, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1780, + "name": "username_wallets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1692, + "src": "2259:16:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 1782, + "indexExpression": { + "id": 1781, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1759, + "src": "2276:10:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2259:28:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1783, + "name": "userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1757, + "src": "2290:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2259:42:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1785, + "nodeType": "ExpressionStatement", + "src": "2259:42:13" + } + ] + }, + "id": 1787, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_updateAddress", + "nameLocation": "1991:14:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1755, + "mutability": "mutable", + "name": "tgId", + "nameLocation": "2012:4:13", + "nodeType": "VariableDeclaration", + "scope": 1787, + "src": "2006:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1754, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "2006:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1757, + "mutability": "mutable", + "name": "userAddress", + "nameLocation": "2026:11:13", + "nodeType": "VariableDeclaration", + "scope": 1787, + "src": "2018:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1756, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2018:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1759, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "2053:10:13", + "nodeType": "VariableDeclaration", + "scope": 1787, + "src": "2039:24:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1758, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2039:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2005:59:13" + }, + "returnParameters": { + "id": 1761, + "nodeType": "ParameterList", + "parameters": [], + "src": "2074:0:13" + }, + "scope": 2333, + "src": "1982:325:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1823, + "nodeType": "Block", + "src": "2449:209:13", + "statements": [ + { + "assignments": [ + 1795 + ], + "declarations": [ + { + "constant": false, + "id": 1795, + "mutability": "mutable", + "name": "p", + "nameLocation": "2472:1:13", + "nodeType": "VariableDeclaration", + "scope": 1823, + "src": "2456:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 1794, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1793, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1679, + "src": "2456:8:13" + }, + "referencedDeclaration": 1679, + "src": "2456:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 1800, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 1797, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2497:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1798, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2497:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1796, + "name": "GetPassportByAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2264, + "src": "2476:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_Passport_$1679_memory_ptr_$", + "typeString": "function (address) view returns (struct TGPassport.Passport memory)" + } + }, + "id": 1799, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2476:32:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2456:52:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1802, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "2523:1:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "id": 1803, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1670, + "src": "2523:13:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1804, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2540:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2540:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2523:27:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "796f7520646f6e2774206e6f77206f776e207468697320757365726e616d65", + "id": 1807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2552:33:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2", + "typeString": "literal_string \"you don't now own this username\"" + }, + "value": "you don't now own this username" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2", + "typeString": "literal_string \"you don't now own this username\"" + } + ], + "id": 1801, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2515:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1808, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2515:71:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1809, + "nodeType": "ExpressionStatement", + "src": "2515:71:13" + }, + { + "expression": { + "id": 1814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 1810, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "2593:1:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "id": 1812, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userName", + "nodeType": "MemberAccess", + "referencedDeclaration": 1678, + "src": "2593:10:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1813, + "name": "new_user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1790, + "src": "2606:14:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2593:27:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 1815, + "nodeType": "ExpressionStatement", + "src": "2593:27:13" + }, + { + "expression": { + "id": 1821, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1816, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "2627:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1819, + "indexExpression": { + "expression": { + "id": 1817, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2637:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1818, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2637:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2627:21:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1820, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1795, + "src": "2651:1:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "src": "2627:25:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1822, + "nodeType": "ExpressionStatement", + "src": "2627:25:13" + } + ] + }, + "documentation": { + "id": 1788, + "nodeType": "StructuredDocumentation", + "src": "2312:72:13", + "text": " @dev This function update user nicname if user change it" + }, + "functionSelector": "21e6531d", + "id": 1824, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "UpdateUserName", + "nameLocation": "2397:14:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1791, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1790, + "mutability": "mutable", + "name": "new_user_name_", + "nameLocation": "2426:14:13", + "nodeType": "VariableDeclaration", + "scope": 1824, + "src": "2412:28:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1789, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2412:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2411:30:13" + }, + "returnParameters": { + "id": 1792, + "nodeType": "ParameterList", + "parameters": [], + "src": "2449:0:13" + }, + "scope": 2333, + "src": "2388:270:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1893, + "nodeType": "Block", + "src": "2966:589:13", + "statements": [ + { + "assignments": [ + 1833 + ], + "declarations": [ + { + "constant": false, + "id": 1833, + "mutability": "mutable", + "name": "applyerAddress", + "nameLocation": "2982:14:13", + "nodeType": "VariableDeclaration", + "scope": 1893, + "src": "2974:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1832, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2974:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1836, + "initialValue": { + "expression": { + "id": 1834, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2999:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1835, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2999:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2974:35:13" + }, + { + "expression": { + "arguments": [ + { + "id": 1838, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1827, + "src": "3119:9:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1839, + "name": "applyerAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1833, + "src": "3129:14:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1840, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1829, + "src": "3144:10:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1837, + "name": "_updateAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1787, + "src": "3104:14:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int64_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int64,address,string memory)" + } + }, + "id": 1841, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3104:51:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1842, + "nodeType": "ExpressionStatement", + "src": "3104:51:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1847, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1844, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3174:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1845, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "3174:9:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1846, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "3187:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3174:25:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "50617373706f727420666565206973206e6f742070616964", + "id": 1848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3201:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "typeString": "literal_string \"Passport fee is not paid\"" + }, + "value": "Passport fee is not paid" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "typeString": "literal_string \"Passport fee is not paid\"" + } + ], + "id": 1843, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3165:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3165:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1850, + "nodeType": "ExpressionStatement", + "src": "3165:63:13" + }, + { + "expression": { + "id": 1865, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1851, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "3237:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1854, + "indexExpression": { + "expression": { + "id": 1852, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3247:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3247:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3237:21:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1856, + "name": "applyerAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1833, + "src": "3270:14:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1857, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1827, + "src": "3286:9:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "hexValue": "66616c7365", + "id": 1858, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3297:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "arguments": [ + { + "hexValue": "307830", + "id": 1861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3312:3:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1860, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3304:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1859, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3304:7:13", + "typeDescriptions": {} + } + }, + "id": 1862, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3304:12:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1863, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1829, + "src": "3317:10:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1855, + "name": "Passport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1679, + "src": "3261:8:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Passport_$1679_storage_ptr_$", + "typeString": "type(struct TGPassport.Passport storage pointer)" + } + }, + "id": 1864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3261:67:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "src": "3237:91:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1866, + "nodeType": "ExpressionStatement", + "src": "3237:91:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1868, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1827, + "src": "3357:9:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 1869, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3368:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1870, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3368:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1867, + "name": "passportApplied", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1710, + "src": "3341:15:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_address_$returns$__$", + "typeString": "function (int64,address)" + } + }, + "id": 1871, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3341:38:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1872, + "nodeType": "EmitStatement", + "src": "3336:43:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1874, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1827, + "src": "3415:9:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 1875, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3426:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1876, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3426:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1873, + "name": "passportAppliedIndexed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1716, + "src": "3392:22:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_address_$returns$__$", + "typeString": "function (int64,address)" + } + }, + "id": 1877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3392:45:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1878, + "nodeType": "EmitStatement", + "src": "3387:50:13" + }, + { + "assignments": [ + 1880, + null + ], + "declarations": [ + { + "constant": false, + "id": 1880, + "mutability": "mutable", + "name": "feePaid", + "nameLocation": "3451:7:13", + "nodeType": "VariableDeclaration", + "scope": 1893, + "src": "3446:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1879, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3446:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 1887, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 1885, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3496:2:13", + "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": 1881, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1668, + "src": "3463:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1882, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "3463:11:13", + "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": 1884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 1883, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "3482:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "3463:32:13", + "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": 1886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3463:36:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3445:54:13" + }, + { + "expression": { + "arguments": [ + { + "id": 1889, + "name": "feePaid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1880, + "src": "3515:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "556e61626c6520746f207472616e7366657220666565", + "id": 1890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3524:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "typeString": "literal_string \"Unable to transfer fee\"" + }, + "value": "Unable to transfer fee" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "typeString": "literal_string \"Unable to transfer fee\"" + } + ], + "id": 1888, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3507:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1891, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3507:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1892, + "nodeType": "ExpressionStatement", + "src": "3507:42:13" + } + ] + }, + "documentation": { + "id": 1825, + "nodeType": "StructuredDocumentation", + "src": "2663:214:13", + "text": " @notice This function for USER who try to obtain some tg_id\n @param applyerTg unic id for telegram user, in telegram it's int64 (number)\n @param user_name_ is username (like @username)*" + }, + "functionSelector": "d5998aeb", + "id": 1894, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ApplyForPassport", + "nameLocation": "2890:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1827, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "2914:9:13", + "nodeType": "VariableDeclaration", + "scope": 1894, + "src": "2908:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1826, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "2908:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1829, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "2939:10:13", + "nodeType": "VariableDeclaration", + "scope": 1894, + "src": "2925:24:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1828, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2925:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2907:43:13" + }, + "returnParameters": { + "id": 1831, + "nodeType": "ParameterList", + "parameters": [], + "src": "2966:0:13" + }, + "scope": 2333, + "src": "2881:674:13", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1954, + "nodeType": "Block", + "src": "3861:458:13", + "statements": [ + { + "assignments": [ + 1903 + ], + "declarations": [ + { + "constant": false, + "id": 1903, + "mutability": "mutable", + "name": "_tgId", + "nameLocation": "3877:5:13", + "nodeType": "VariableDeclaration", + "scope": 1954, + "src": "3871:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1902, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "3871:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "id": 1908, + "initialValue": { + "expression": { + "baseExpression": { + "id": 1904, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "3885:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1906, + "indexExpression": { + "id": 1905, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1897, + "src": "3895:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3885:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1907, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1672, + "src": "3885:33:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3871:47:13" + }, + { + "assignments": [ + 1910 + ], + "declarations": [ + { + "constant": false, + "id": 1910, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "3942:10:13", + "nodeType": "VariableDeclaration", + "scope": 1954, + "src": "3928:24:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1909, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3928:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 1915, + "initialValue": { + "expression": { + "baseExpression": { + "id": 1911, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "3955:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1913, + "indexExpression": { + "id": 1912, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1897, + "src": "3965:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3955:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1914, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userName", + "nodeType": "MemberAccess", + "referencedDeclaration": 1678, + "src": "3955:37:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3928:64:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1922, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1917, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "4010:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1919, + "indexExpression": { + "id": 1918, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1897, + "src": "4020:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4010:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1920, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1674, + "src": "4010:34:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 1921, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4048:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "4010:43:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "616c726561647920617070726f766564204f5220646f206e6f742065786973747320796574", + "id": 1923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:39:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "typeString": "literal_string \"already approved OR do not exists yet\"" + }, + "value": "already approved OR do not exists yet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "typeString": "literal_string \"already approved OR do not exists yet\"" + } + ], + "id": 1916, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4002:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1924, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4002:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1925, + "nodeType": "ExpressionStatement", + "src": "4002:93:13" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 1926, + "name": "trust_global", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1698, + "src": "4105:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + } + }, + "id": 1929, + "indexExpression": { + "id": 1927, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "4118:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4105:19:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_bool_$", + "typeString": "mapping(int64 => bool)" + } + }, + "id": 1930, + "indexExpression": { + "id": 1928, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "4125:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4105:26:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "74727565", + "id": 1931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4135:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4105:34:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1933, + "nodeType": "ExpressionStatement", + "src": "4105:34:13" + }, + { + "expression": { + "id": 1945, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1934, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "4149:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1936, + "indexExpression": { + "id": 1935, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1897, + "src": "4159:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4149:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1938, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1897, + "src": "4189:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1939, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "4208:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "hexValue": "74727565", + "id": 1940, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4215:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "expression": { + "id": 1941, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4221:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4221:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1943, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1910, + "src": "4233:10:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1937, + "name": "Passport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1679, + "src": "4180:8:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Passport_$1679_storage_ptr_$", + "typeString": "type(struct TGPassport.Passport storage pointer)" + } + }, + "id": 1944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4180:64:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "src": "4149:95:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1946, + "nodeType": "ExpressionStatement", + "src": "4149:95:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1948, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "4278:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1949, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1897, + "src": "4284:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1950, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4302:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1951, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4302:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1947, + "name": "passportApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1724, + "src": "4261:16:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_address_$_t_address_$returns$__$", + "typeString": "function (int64,address,address)" + } + }, + "id": 1952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4261:52:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1953, + "nodeType": "EmitStatement", + "src": "4256:57:13" + } + ] + }, + "documentation": { + "id": 1895, + "nodeType": "StructuredDocumentation", + "src": "3560:227:13", + "text": " @notice This function approving passport (use for bot) which approve that user owns it's tg_id and nicname he want to attach with\n @param passportToApprove address of user wallet which attached to him" + }, + "functionSelector": "1755e9e6", + "id": 1955, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1900, + "kind": "modifierInvocation", + "modifierName": { + "id": 1899, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "3851:9:13" + }, + "nodeType": "ModifierInvocation", + "src": "3851:9:13" + } + ], + "name": "ApprovePassport", + "nameLocation": "3800:15:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1898, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1897, + "mutability": "mutable", + "name": "passportToApprove", + "nameLocation": "3825:17:13", + "nodeType": "VariableDeclaration", + "scope": 1955, + "src": "3817:25:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1896, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3817:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3816:27:13" + }, + "returnParameters": { + "id": 1901, + "nodeType": "ParameterList", + "parameters": [], + "src": "3861:0:13" + }, + "scope": 2333, + "src": "3791:528:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2007, + "nodeType": "Block", + "src": "4535:443:13", + "statements": [ + { + "assignments": [ + 1964 + ], + "declarations": [ + { + "constant": false, + "id": 1964, + "mutability": "mutable", + "name": "_tgId", + "nameLocation": "4549:5:13", + "nodeType": "VariableDeclaration", + "scope": 2007, + "src": "4543:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1963, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "4543:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "id": 1969, + "initialValue": { + "expression": { + "baseExpression": { + "id": 1965, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "4557:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1967, + "indexExpression": { + "id": 1966, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1958, + "src": "4567:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4557:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1968, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1672, + "src": "4557:33:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4543:47:13" + }, + { + "assignments": [ + 1971 + ], + "declarations": [ + { + "constant": false, + "id": 1971, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "4612:10:13", + "nodeType": "VariableDeclaration", + "scope": 2007, + "src": "4598:24:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1970, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4598:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 1976, + "initialValue": { + "expression": { + "baseExpression": { + "id": 1972, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "4625:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1974, + "indexExpression": { + "id": 1973, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1958, + "src": "4635:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4625:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1975, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userName", + "nodeType": "MemberAccess", + "referencedDeclaration": 1678, + "src": "4625:37:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4598:64:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1978, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "4678:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1980, + "indexExpression": { + "id": 1979, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1958, + "src": "4688:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4678:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1981, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1674, + "src": "4678:34:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 1982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4716:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "4678:43:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "616c726561647920617070726f766564204f5220646f206e6f742065786973747320796574", + "id": 1984, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4723:39:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "typeString": "literal_string \"already approved OR do not exists yet\"" + }, + "value": "already approved OR do not exists yet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "typeString": "literal_string \"already approved OR do not exists yet\"" + } + ], + "id": 1977, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4670:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1985, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4670:93:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1986, + "nodeType": "ExpressionStatement", + "src": "4670:93:13" + }, + { + "expression": { + "id": 1990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4807:35:13", + "subExpression": { + "baseExpression": { + "id": 1987, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "4814:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1989, + "indexExpression": { + "id": 1988, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1958, + "src": "4824:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4814:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1991, + "nodeType": "ExpressionStatement", + "src": "4807:35:13" + }, + { + "expression": { + "id": 1995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4850:27:13", + "subExpression": { + "baseExpression": { + "id": 1992, + "name": "tgIdToAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1683, + "src": "4857:13:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 1994, + "indexExpression": { + "id": 1993, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1964, + "src": "4871:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4857:20:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1996, + "nodeType": "ExpressionStatement", + "src": "4850:27:13" + }, + { + "expression": { + "id": 2000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4885:35:13", + "subExpression": { + "baseExpression": { + "id": 1997, + "name": "username_wallets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1692, + "src": "4892:16:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 1999, + "indexExpression": { + "id": 1998, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1971, + "src": "4909:10:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4892:28:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2001, + "nodeType": "ExpressionStatement", + "src": "4885:35:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2003, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1964, + "src": "4948:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2004, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1958, + "src": "4954:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2002, + "name": "passportDenied", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "4933:14:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_address_$returns$__$", + "typeString": "function (int64,address)" + } + }, + "id": 2005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4933:39:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2006, + "nodeType": "EmitStatement", + "src": "4928:44:13" + } + ] + }, + "documentation": { + "id": 1956, + "nodeType": "StructuredDocumentation", + "src": "4324:137:13", + "text": " @notice This function decline application end erase junk data\n @param passportToDecline address of user wallet" + }, + "functionSelector": "9421da61", + "id": 2008, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1961, + "kind": "modifierInvocation", + "modifierName": { + "id": 1960, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "4525:9:13" + }, + "nodeType": "ModifierInvocation", + "src": "4525:9:13" + } + ], + "name": "DeclinePassport", + "nameLocation": "4474:15:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1959, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1958, + "mutability": "mutable", + "name": "passportToDecline", + "nameLocation": "4499:17:13", + "nodeType": "VariableDeclaration", + "scope": 2008, + "src": "4491:25:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1957, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4491:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4490:27:13" + }, + "returnParameters": { + "id": 1962, + "nodeType": "ParameterList", + "parameters": [], + "src": "4535:0:13" + }, + "scope": 2333, + "src": "4465:513:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2065, + "nodeType": "Block", + "src": "5232:559:13", + "statements": [ + { + "assignments": [ + 2017 + ], + "declarations": [ + { + "constant": false, + "id": 2017, + "mutability": "mutable", + "name": "_tgId", + "nameLocation": "5246:5:13", + "nodeType": "VariableDeclaration", + "scope": 2065, + "src": "5240:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2016, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "5240:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "id": 2022, + "initialValue": { + "expression": { + "baseExpression": { + "id": 2018, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "5254:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 2020, + "indexExpression": { + "id": 2019, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2011, + "src": "5264:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5254:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 2021, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1672, + "src": "5254:33:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5240:47:13" + }, + { + "assignments": [ + 2024 + ], + "declarations": [ + { + "constant": false, + "id": 2024, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "5309:10:13", + "nodeType": "VariableDeclaration", + "scope": 2065, + "src": "5295:24:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2023, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5295:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 2029, + "initialValue": { + "expression": { + "baseExpression": { + "id": 2025, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "5322:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 2027, + "indexExpression": { + "id": 2026, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2011, + "src": "5332:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5322:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 2028, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userName", + "nodeType": "MemberAccess", + "referencedDeclaration": 1678, + "src": "5322:37:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5295:64:13" + }, + { + "assignments": [ + 2031 + ], + "declarations": [ + { + "constant": false, + "id": 2031, + "mutability": "mutable", + "name": "chainID", + "nameLocation": "5372:7:13", + "nodeType": "VariableDeclaration", + "scope": 2065, + "src": "5367:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2030, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5367:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2034, + "initialValue": { + "expression": { + "id": 2032, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "5382:5:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 2033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "5382:13:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5367:28:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2041, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2036, + "name": "chainID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2031, + "src": "5411:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "35", + "id": 2039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5427:1:13", + "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": 2038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5422:4:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 2037, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5422:4:13", + "typeDescriptions": {} + } + }, + "id": 2040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5422:7:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5411:18:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746869732066756e6374696f6e20776f726b2773206f6e6c7920666f7220746573746e6574", + "id": 2042, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5431:39:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f", + "typeString": "literal_string \"this function work's only for testnet\"" + }, + "value": "this function work's only for testnet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f", + "typeString": "literal_string \"this function work's only for testnet\"" + } + ], + "id": 2035, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5403:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2043, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5403:68:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2044, + "nodeType": "ExpressionStatement", + "src": "5403:68:13" + }, + { + "expression": { + "id": 2048, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5620:35:13", + "subExpression": { + "baseExpression": { + "id": 2045, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "5627:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 2047, + "indexExpression": { + "id": 2046, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2011, + "src": "5637:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5627:28:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2049, + "nodeType": "ExpressionStatement", + "src": "5620:35:13" + }, + { + "expression": { + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5663:27:13", + "subExpression": { + "baseExpression": { + "id": 2050, + "name": "tgIdToAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1683, + "src": "5670:13:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 2052, + "indexExpression": { + "id": 2051, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2017, + "src": "5684:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5670:20:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2054, + "nodeType": "ExpressionStatement", + "src": "5663:27:13" + }, + { + "expression": { + "id": 2058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5698:35:13", + "subExpression": { + "baseExpression": { + "id": 2055, + "name": "username_wallets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1692, + "src": "5705:16:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 2057, + "indexExpression": { + "id": 2056, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2024, + "src": "5722:10:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5705:28:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2059, + "nodeType": "ExpressionStatement", + "src": "5698:35:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2061, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2017, + "src": "5761:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2062, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2011, + "src": "5767:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2060, + "name": "passportDenied", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1730, + "src": "5746:14:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_address_$returns$__$", + "typeString": "function (int64,address)" + } + }, + "id": 2063, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5746:39:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2064, + "nodeType": "EmitStatement", + "src": "5741:44:13" + } + ] + }, + "documentation": { + "id": 2009, + "nodeType": "StructuredDocumentation", + "src": "4983:175:13", + "text": " @dev This function is a service function which allow Owner to erase already approved passport\n and make clean state contract. NOT FOR USE IN PRODUCTION" + }, + "functionSelector": "65104afc", + "id": 2066, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2014, + "kind": "modifierInvocation", + "modifierName": { + "id": 2013, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "5222:9:13" + }, + "nodeType": "ModifierInvocation", + "src": "5222:9:13" + } + ], + "name": "DeletePassport", + "nameLocation": "5172:14:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2012, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2011, + "mutability": "mutable", + "name": "passportToDecline", + "nameLocation": "5196:17:13", + "nodeType": "VariableDeclaration", + "scope": 2066, + "src": "5188:25:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2010, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5188:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5187:27:13" + }, + "returnParameters": { + "id": 2015, + "nodeType": "ParameterList", + "parameters": [], + "src": "5232:0:13" + }, + "scope": 2333, + "src": "5163:628:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2082, + "nodeType": "Block", + "src": "6039:49:13", + "statements": [ + { + "expression": { + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 2074, + "name": "trust_global", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1698, + "src": "6050:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + } + }, + "id": 2077, + "indexExpression": { + "id": 2075, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2069, + "src": "6063:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6050:18:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_bool_$", + "typeString": "mapping(int64 => bool)" + } + }, + "id": 2078, + "indexExpression": { + "id": 2076, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2071, + "src": "6069:2:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6050:22:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2079, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6075:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6050:29:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2081, + "nodeType": "ExpressionStatement", + "src": "6050:29:13" + } + ] + }, + "documentation": { + "id": 2067, + "nodeType": "StructuredDocumentation", + "src": "5802:179:13", + "text": " \n @dev this INTERNAL function is to show trust to other user\n @param from tgid user who trust\n @param to tgid user who trusted by" + }, + "id": 2083, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iTrustTo", + "nameLocation": "5997:9:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2072, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2069, + "mutability": "mutable", + "name": "from", + "nameLocation": "6013:4:13", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "6007:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2068, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6007:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2071, + "mutability": "mutable", + "name": "to", + "nameLocation": "6025:2:13", + "nodeType": "VariableDeclaration", + "scope": 2083, + "src": "6019:8:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2070, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6019:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "6006:22:13" + }, + "returnParameters": { + "id": 2073, + "nodeType": "ParameterList", + "parameters": [], + "src": "6039:0:13" + }, + "scope": 2333, + "src": "5988:100:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2099, + "nodeType": "Block", + "src": "6375:50:13", + "statements": [ + { + "expression": { + "id": 2097, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 2091, + "name": "trust_global", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1698, + "src": "6386:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + } + }, + "id": 2094, + "indexExpression": { + "id": 2092, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2086, + "src": "6399:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6386:18:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_bool_$", + "typeString": "mapping(int64 => bool)" + } + }, + "id": 2095, + "indexExpression": { + "id": 2093, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2088, + "src": "6405:2:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6386:22:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 2096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6411:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "6386:30:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2098, + "nodeType": "ExpressionStatement", + "src": "6386:30:13" + } + ] + }, + "documentation": { + "id": 2084, + "nodeType": "StructuredDocumentation", + "src": "6096:221:13", + "text": " @dev this INTERNAL function is to DISRESPECT youser\n by DEFAULT you are TRUST NO 0NE!\n @param from tgid user who DONT TRUST\n @param to tgid user who looks suspiciouse" + }, + "id": 2100, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iNotTrust", + "nameLocation": "6333:10:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2089, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2086, + "mutability": "mutable", + "name": "from", + "nameLocation": "6350:4:13", + "nodeType": "VariableDeclaration", + "scope": 2100, + "src": "6344:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2085, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6344:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2088, + "mutability": "mutable", + "name": "to", + "nameLocation": "6362:2:13", + "nodeType": "VariableDeclaration", + "scope": 2100, + "src": "6356:8:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2087, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6356:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "6343:22:13" + }, + "returnParameters": { + "id": 2090, + "nodeType": "ParameterList", + "parameters": [], + "src": "6375:0:13" + }, + "scope": 2333, + "src": "6324:101:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2172, + "nodeType": "Block", + "src": "6663:649:13", + "statements": [ + { + "assignments": [ + 2112 + ], + "declarations": [ + { + "constant": false, + "id": 2112, + "mutability": "mutable", + "name": "from_p", + "nameLocation": "6690:6:13", + "nodeType": "VariableDeclaration", + "scope": 2172, + "src": "6674:22:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 2111, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2110, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1679, + "src": "6674:8:13" + }, + "referencedDeclaration": 1679, + "src": "6674:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 2116, + "initialValue": { + "arguments": [ + { + "id": 2114, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2103, + "src": "6717:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "id": 2113, + "name": "GetPassportByTgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2324, + "src": "6699:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_int64_$returns$_t_struct$_Passport_$1679_memory_ptr_$", + "typeString": "function (int64) view returns (struct TGPassport.Passport memory)" + } + }, + "id": 2115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6699:23:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6674:48:13" + }, + { + "assignments": [ + 2118 + ], + "declarations": [ + { + "constant": false, + "id": 2118, + "mutability": "mutable", + "name": "from_address", + "nameLocation": "6741:12:13", + "nodeType": "VariableDeclaration", + "scope": 2172, + "src": "6733:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2117, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6733:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2121, + "initialValue": { + "expression": { + "id": 2119, + "name": "from_p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2112, + "src": "6756:6:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "id": 2120, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1670, + "src": "6756:18:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6733:41:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2123, + "name": "from_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2118, + "src": "6793:12:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2124, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "6809:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6809:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6793:26:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "596f75722063757272656e742061646472657373206d69736d61746368207769746820796f7572207265676973747265642077616c6c65742061646472657373", + "id": 2127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6821:66:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a", + "typeString": "literal_string \"Your current address mismatch with your registred wallet address\"" + }, + "value": "Your current address mismatch with your registred wallet address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a", + "typeString": "literal_string \"Your current address mismatch with your registred wallet address\"" + } + ], + "id": 2122, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6785:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2128, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6785:103:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2129, + "nodeType": "ExpressionStatement", + "src": "6785:103:13" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2130, + "name": "trust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2107, + "src": "6967:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "74727565", + "id": 2131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6976:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6967:13:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 2170, + "nodeType": "Block", + "src": "7145:158:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2153, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2103, + "src": "7170:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2154, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2105, + "src": "7175:2:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "id": 2152, + "name": "_iNotTrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2100, + "src": "7159:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int64_$_t_int64_$returns$__$", + "typeString": "function (int64,int64)" + } + }, + "id": 2155, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7159:19:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2156, + "nodeType": "ExpressionStatement", + "src": "7159:19:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2161, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2105, + "src": "7219:2:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "expression": { + "baseExpression": { + "id": 2157, + "name": "opinion_changed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1704, + "src": "7192:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_array$_t_int64_$dyn_storage_$", + "typeString": "mapping(int64 => int64[] storage ref)" + } + }, + "id": 2159, + "indexExpression": { + "id": 2158, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2103, + "src": "7208:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7192:21:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage", + "typeString": "int64[] storage ref" + } + }, + "id": 2160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "7192:26:13", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_int64_$dyn_storage_ptr_$_t_int64_$returns$__$bound_to$_t_array$_t_int64_$dyn_storage_ptr_$", + "typeString": "function (int64[] storage pointer,int64)" + } + }, + "id": 2162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7192:30:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2163, + "nodeType": "ExpressionStatement", + "src": "7192:30:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2165, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2103, + "src": "7277:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2166, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2105, + "src": "7282:2:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2167, + "name": "trust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2107, + "src": "7285:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2164, + "name": "TrustChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1738, + "src": "7264:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_int64_$_t_bool_$returns$__$", + "typeString": "function (int64,int64,bool)" + } + }, + "id": 2168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7264:27:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2169, + "nodeType": "EmitStatement", + "src": "7259:32:13" + } + ] + }, + "id": 2171, + "nodeType": "IfStatement", + "src": "6963:340:13", + "trueBody": { + "id": 2151, + "nodeType": "Block", + "src": "6982:157:13", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2134, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2103, + "src": "7006:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2135, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2105, + "src": "7011:2:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "id": 2133, + "name": "_iTrustTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2083, + "src": "6996:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int64_$_t_int64_$returns$__$", + "typeString": "function (int64,int64)" + } + }, + "id": 2136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6996:18:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2137, + "nodeType": "ExpressionStatement", + "src": "6996:18:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2142, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2105, + "src": "7055:2:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "expression": { + "baseExpression": { + "id": 2138, + "name": "opinion_changed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1704, + "src": "7028:15:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_array$_t_int64_$dyn_storage_$", + "typeString": "mapping(int64 => int64[] storage ref)" + } + }, + "id": 2140, + "indexExpression": { + "id": 2139, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2103, + "src": "7044:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7028:21:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage", + "typeString": "int64[] storage ref" + } + }, + "id": 2141, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "7028:26:13", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_int64_$dyn_storage_ptr_$_t_int64_$returns$__$bound_to$_t_array$_t_int64_$dyn_storage_ptr_$", + "typeString": "function (int64[] storage pointer,int64)" + } + }, + "id": 2143, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7028:30:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2144, + "nodeType": "ExpressionStatement", + "src": "7028:30:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2146, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2103, + "src": "7113:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2147, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2105, + "src": "7118:2:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2148, + "name": "trust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2107, + "src": "7121:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 2145, + "name": "TrustChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1738, + "src": "7100:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_int64_$_t_bool_$returns$__$", + "typeString": "function (int64,int64,bool)" + } + }, + "id": 2149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7100:27:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2150, + "nodeType": "EmitStatement", + "src": "7095:32:13" + } + ] + } + } + ] + }, + "documentation": { + "id": 2101, + "nodeType": "StructuredDocumentation", + "src": "6533:60:13", + "text": " @dev set trust 'from' tgid 'to' tgid" + }, + "functionSelector": "b910c898", + "id": 2173, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "SetTrustToID", + "nameLocation": "6609:12:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2108, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2103, + "mutability": "mutable", + "name": "from", + "nameLocation": "6628:4:13", + "nodeType": "VariableDeclaration", + "scope": 2173, + "src": "6622:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2102, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6622:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2105, + "mutability": "mutable", + "name": "to", + "nameLocation": "6640:2:13", + "nodeType": "VariableDeclaration", + "scope": 2173, + "src": "6634:8:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2104, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6634:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2107, + "mutability": "mutable", + "name": "trust", + "nameLocation": "6649:5:13", + "nodeType": "VariableDeclaration", + "scope": 2173, + "src": "6644:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2106, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6644:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6621:34:13" + }, + "returnParameters": { + "id": 2109, + "nodeType": "ParameterList", + "parameters": [], + "src": "6663:0:13" + }, + "scope": 2333, + "src": "6600:712:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2189, + "nodeType": "Block", + "src": "7465:49:13", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 2183, + "name": "trust_global", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1698, + "src": "7483:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + } + }, + "id": 2185, + "indexExpression": { + "id": 2184, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2176, + "src": "7496:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7483:18:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_bool_$", + "typeString": "mapping(int64 => bool)" + } + }, + "id": 2187, + "indexExpression": { + "id": 2186, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2178, + "src": "7502:2:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7483:22:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2182, + "id": 2188, + "nodeType": "Return", + "src": "7476:29:13" + } + ] + }, + "documentation": { + "id": 2174, + "nodeType": "StructuredDocumentation", + "src": "7321:70:13", + "text": " @notice get to know if tgid from trust tgid to" + }, + "functionSelector": "4ac054bb", + "id": 2190, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetTrust", + "nameLocation": "7407:8:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2176, + "mutability": "mutable", + "name": "from", + "nameLocation": "7422:4:13", + "nodeType": "VariableDeclaration", + "scope": 2190, + "src": "7416:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2175, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "7416:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2178, + "mutability": "mutable", + "name": "to", + "nameLocation": "7434:2:13", + "nodeType": "VariableDeclaration", + "scope": 2190, + "src": "7428:8:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2177, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "7428:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "7415:22:13" + }, + "returnParameters": { + "id": 2182, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2181, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2190, + "src": "7459:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2180, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7459:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7458:6:13" + }, + "scope": 2333, + "src": "7398:116:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2202, + "nodeType": "Block", + "src": "7647:44:13", + "statements": [ + { + "expression": { + "id": 2200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2198, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "7657:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2199, + "name": "passportFee_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2193, + "src": "7672:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7657:27:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2201, + "nodeType": "ExpressionStatement", + "src": "7657:27:13" + } + ] + }, + "documentation": { + "id": 2191, + "nodeType": "StructuredDocumentation", + "src": "7520:62:13", + "text": " @dev setting fee for applying for passport" + }, + "functionSelector": "d2125bd2", + "id": 2203, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2196, + "kind": "modifierInvocation", + "modifierName": { + "id": 2195, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "7637:9:13" + }, + "nodeType": "ModifierInvocation", + "src": "7637:9:13" + } + ], + "name": "SetPassportFee", + "nameLocation": "7596:14:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2194, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2193, + "mutability": "mutable", + "name": "passportFee_", + "nameLocation": "7616:12:13", + "nodeType": "VariableDeclaration", + "scope": 2203, + "src": "7611:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2192, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7611:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7610:19:13" + }, + "returnParameters": { + "id": 2197, + "nodeType": "ParameterList", + "parameters": [], + "src": "7647:0:13" + }, + "scope": 2333, + "src": "7587:104:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2211, + "nodeType": "Block", + "src": "7829:36:13", + "statements": [ + { + "expression": { + "id": 2209, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1666, + "src": "7846:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2208, + "id": 2210, + "nodeType": "Return", + "src": "7839:19:13" + } + ] + }, + "documentation": { + "id": 2204, + "nodeType": "StructuredDocumentation", + "src": "7697:74:13", + "text": " @dev getter to obtain how much user will pay for apply" + }, + "functionSelector": "48dc1561", + "id": 2212, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetPassportFee", + "nameLocation": "7785:14:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2205, + "nodeType": "ParameterList", + "parameters": [], + "src": "7799:2:13" + }, + "returnParameters": { + "id": 2208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2207, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2212, + "src": "7823:4:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2206, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7823:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7822:6:13" + }, + "scope": 2333, + "src": "7776:89:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2223, + "nodeType": "Block", + "src": "7943:41:13", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 2219, + "name": "tgIdToAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1683, + "src": "7958:13:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 2221, + "indexExpression": { + "id": 2220, + "name": "tgId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2214, + "src": "7972:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7958:20:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2218, + "id": 2222, + "nodeType": "Return", + "src": "7951:27:13" + } + ] + }, + "functionSelector": "0c2fc6e3", + "id": 2224, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetPassportWalletByID", + "nameLocation": "7880:21:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2215, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2214, + "mutability": "mutable", + "name": "tgId_", + "nameLocation": "7908:5:13", + "nodeType": "VariableDeclaration", + "scope": 2224, + "src": "7902:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2213, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "7902:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "7901:13:13" + }, + "returnParameters": { + "id": 2218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2217, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2224, + "src": "7935:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7935:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7934:9:13" + }, + "scope": 2333, + "src": "7871:113:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2245, + "nodeType": "Block", + "src": "8068:107:13", + "statements": [ + { + "assignments": [ + 2233 + ], + "declarations": [ + { + "constant": false, + "id": 2233, + "mutability": "mutable", + "name": "p", + "nameLocation": "8092:1:13", + "nodeType": "VariableDeclaration", + "scope": 2245, + "src": "8076:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 2232, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2231, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1679, + "src": "8076:8:13" + }, + "referencedDeclaration": 1679, + "src": "8076:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 2237, + "initialValue": { + "arguments": [ + { + "id": 2235, + "name": "user_wallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2226, + "src": "8117:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2234, + "name": "GetPassportByAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2264, + "src": "8096:20:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_Passport_$1679_memory_ptr_$", + "typeString": "function (address) view returns (struct TGPassport.Passport memory)" + } + }, + "id": 2236, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8096:33:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8076:53:13" + }, + { + "expression": { + "id": 2241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2238, + "name": "tgid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2229, + "src": "8137:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 2239, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2233, + "src": "8144:1:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "id": 2240, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1672, + "src": "8144:6:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "src": "8137:13:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "id": 2242, + "nodeType": "ExpressionStatement", + "src": "8137:13:13" + }, + { + "expression": { + "id": 2243, + "name": "tgid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2229, + "src": "8165:4:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "functionReturnParameters": 2230, + "id": 2244, + "nodeType": "Return", + "src": "8158:11:13" + } + ] + }, + "functionSelector": "61cabe37", + "id": 2246, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetTgIdByAddress", + "nameLocation": "7998:16:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2227, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2226, + "mutability": "mutable", + "name": "user_wallet", + "nameLocation": "8023:11:13", + "nodeType": "VariableDeclaration", + "scope": 2246, + "src": "8015:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2225, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8015:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8014:21:13" + }, + "returnParameters": { + "id": 2230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2229, + "mutability": "mutable", + "name": "tgid", + "nameLocation": "8062:4:13", + "nodeType": "VariableDeclaration", + "scope": 2246, + "src": "8056:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2228, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "8056:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "8055:12:13" + }, + "scope": 2333, + "src": "7989:186:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2263, + "nodeType": "Block", + "src": "8268:72:13", + "statements": [ + { + "assignments": [ + 2256 + ], + "declarations": [ + { + "constant": false, + "id": 2256, + "mutability": "mutable", + "name": "p", + "nameLocation": "8292:1:13", + "nodeType": "VariableDeclaration", + "scope": 2263, + "src": "8276:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 2255, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2254, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1679, + "src": "8276:8:13" + }, + "referencedDeclaration": 1679, + "src": "8276:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 2260, + "initialValue": { + "baseExpression": { + "id": 2257, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "8296:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 2259, + "indexExpression": { + "id": 2258, + "name": "user_wallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2248, + "src": "8306:11:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8296:22:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8276:42:13" + }, + { + "expression": { + "id": 2261, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2256, + "src": "8333:1:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "functionReturnParameters": 2253, + "id": 2262, + "nodeType": "Return", + "src": "8326:8:13" + } + ] + }, + "functionSelector": "1423ea07", + "id": 2264, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetPassportByAddress", + "nameLocation": "8189:20:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2248, + "mutability": "mutable", + "name": "user_wallet", + "nameLocation": "8218:11:13", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "8210:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2247, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8210:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8209:21:13" + }, + "returnParameters": { + "id": 2253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2252, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2264, + "src": "8251:15:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 2251, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2250, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1679, + "src": "8251:8:13" + }, + "referencedDeclaration": 1679, + "src": "8251:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "src": "8250:17:13" + }, + "scope": 2333, + "src": "8180:160:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2275, + "nodeType": "Block", + "src": "8430:49:13", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 2271, + "name": "username_wallets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1692, + "src": "8445:16:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 2273, + "indexExpression": { + "id": 2272, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2266, + "src": "8462:10:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8445:28:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2270, + "id": 2274, + "nodeType": "Return", + "src": "8438:35:13" + } + ] + }, + "functionSelector": "d2114e18", + "id": 2276, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetWalletByNickName", + "nameLocation": "8354:19:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2267, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2266, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "8388:10:13", + "nodeType": "VariableDeclaration", + "scope": 2276, + "src": "8374:24:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2265, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8374:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8373:26:13" + }, + "returnParameters": { + "id": 2270, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2269, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2276, + "src": "8421:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2268, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8421:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8420:9:13" + }, + "scope": 2333, + "src": "8345:134:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2299, + "nodeType": "Block", + "src": "8579:125:13", + "statements": [ + { + "assignments": [ + 2285 + ], + "declarations": [ + { + "constant": false, + "id": 2285, + "mutability": "mutable", + "name": "wallet_", + "nameLocation": "8595:7:13", + "nodeType": "VariableDeclaration", + "scope": 2299, + "src": "8587:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2284, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8587:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2289, + "initialValue": { + "arguments": [ + { + "id": 2287, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2278, + "src": "8625:10:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2286, + "name": "GetWalletByNickName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2276, + "src": "8605:19:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view returns (address)" + } + }, + "id": 2288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8605:31:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8587:49:13" + }, + { + "assignments": [ + 2292 + ], + "declarations": [ + { + "constant": false, + "id": 2292, + "mutability": "mutable", + "name": "p", + "nameLocation": "8660:1:13", + "nodeType": "VariableDeclaration", + "scope": 2299, + "src": "8644:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 2291, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2290, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1679, + "src": "8644:8:13" + }, + "referencedDeclaration": 1679, + "src": "8644:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 2296, + "initialValue": { + "baseExpression": { + "id": 2293, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "8664:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 2295, + "indexExpression": { + "id": 2294, + "name": "wallet_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2285, + "src": "8674:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8664:18:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8644:38:13" + }, + { + "expression": { + "id": 2297, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2292, + "src": "8697:1:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "functionReturnParameters": 2283, + "id": 2298, + "nodeType": "Return", + "src": "8690:8:13" + } + ] + }, + "functionSelector": "b25047c2", + "id": 2300, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetPassportByNickName", + "nameLocation": "8493:21:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2279, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2278, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "8529:10:13", + "nodeType": "VariableDeclaration", + "scope": 2300, + "src": "8515:24:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2277, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8515:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8514:26:13" + }, + "returnParameters": { + "id": 2283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2282, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2300, + "src": "8562:15:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 2281, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2280, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1679, + "src": "8562:8:13" + }, + "referencedDeclaration": 1679, + "src": "8562:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "src": "8561:17:13" + }, + "scope": 2333, + "src": "8484:220:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2323, + "nodeType": "Block", + "src": "8787:120:13", + "statements": [ + { + "assignments": [ + 2309 + ], + "declarations": [ + { + "constant": false, + "id": 2309, + "mutability": "mutable", + "name": "wallet", + "nameLocation": "8803:6:13", + "nodeType": "VariableDeclaration", + "scope": 2323, + "src": "8795:14:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8795:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2313, + "initialValue": { + "arguments": [ + { + "id": 2311, + "name": "tgId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2302, + "src": "8834:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "id": 2310, + "name": "GetPassportWalletByID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2224, + "src": "8812:21:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_int64_$returns$_t_address_$", + "typeString": "function (int64) view returns (address)" + } + }, + "id": 2312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8812:28:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8795:45:13" + }, + { + "assignments": [ + 2316 + ], + "declarations": [ + { + "constant": false, + "id": 2316, + "mutability": "mutable", + "name": "p", + "nameLocation": "8864:1:13", + "nodeType": "VariableDeclaration", + "scope": 2323, + "src": "8848:17:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 2315, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2314, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1679, + "src": "8848:8:13" + }, + "referencedDeclaration": 1679, + "src": "8848:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 2320, + "initialValue": { + "baseExpression": { + "id": 2317, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "8868:9:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1679_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 2319, + "indexExpression": { + "id": 2318, + "name": "wallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2309, + "src": "8878:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8868:17:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8848:37:13" + }, + { + "expression": { + "id": 2321, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2316, + "src": "8900:1:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "functionReturnParameters": 2307, + "id": 2322, + "nodeType": "Return", + "src": "8893:8:13" + } + ] + }, + "functionSelector": "65a5637e", + "id": 2324, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetPassportByTgId", + "nameLocation": "8718:17:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2302, + "mutability": "mutable", + "name": "tgId_", + "nameLocation": "8742:5:13", + "nodeType": "VariableDeclaration", + "scope": 2324, + "src": "8736:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2301, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "8736:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "8735:13:13" + }, + "returnParameters": { + "id": 2307, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2306, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2324, + "src": "8770:15:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 2305, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2304, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1679, + "src": "8770:8:13" + }, + "referencedDeclaration": 1679, + "src": "8770:8:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1679_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "src": "8769:17:13" + }, + "scope": 2333, + "src": "8709:198:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2331, + "nodeType": "Block", + "src": "8961:27:13", + "statements": [ + { + "expression": { + "id": 2329, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1668, + "src": "8976:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2328, + "id": 2330, + "nodeType": "Return", + "src": "8969:13:13" + } + ] + }, + "functionSelector": "0ae50a39", + "id": 2332, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetOwner", + "nameLocation": "8921:8:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2325, + "nodeType": "ParameterList", + "parameters": [], + "src": "8929:2:13" + }, + "returnParameters": { + "id": 2328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2327, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2332, + "src": "8952:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8952:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8951:9:13" + }, + "scope": 2333, + "src": "8912:76:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 2334, + "src": "384:8607:13", + "usedErrors": [] + } + ], + "src": "31:8960:13" + }, + "id": 13 + }, + "contracts/Union.sol": { + "ast": { + "absolutePath": "contracts/Union.sol", + "exportedSymbols": { + "AccessControl": [ + 308 + ], + "Context": [ + 1346 + ], + "Counters": [ + 1420 + ], + "ERC165": [ + 1647 + ], + "IAccessControl": [ + 381 + ], + "IERC165": [ + 1659 + ], + "IERC20": [ + 1152 + ], + "IERC20Metadata": [ + 1177 + ], + "IERC721": [ + 1293 + ], + "IERC721Enumerable": [ + 1324 + ], + "Ownable": [ + 486 + ], + "Strings": [ + 1623 + ], + "TGPassport": [ + 2333 + ], + "Union": [ + 2813 + ], + "console": [ + 10925 + ] + }, + "id": 2814, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2335, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "176:23:14" + }, + { + "absolutePath": "hardhat/console.sol", + "file": "hardhat/console.sol", + "id": 2336, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2814, + "sourceUnit": 10926, + "src": "201:29:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 2337, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2814, + "sourceUnit": 487, + "src": "294:52:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "id": 2338, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2814, + "sourceUnit": 1153, + "src": "347:56:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "id": 2339, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2814, + "sourceUnit": 1178, + "src": "404:75:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol", + "file": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol", + "id": 2340, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2814, + "sourceUnit": 1325, + "src": "480:79:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", + "file": "@openzeppelin/contracts/utils/Counters.sol", + "id": 2341, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2814, + "sourceUnit": 1421, + "src": "560:52:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", + "file": "@openzeppelin/contracts/access/AccessControl.sol", + "id": 2342, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2814, + "sourceUnit": 309, + "src": "613:58:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/TGPassport.sol", + "file": "./TGPassport.sol", + "id": 2343, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2814, + "sourceUnit": 2334, + "src": "1147:26:14", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2344, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 486, + "src": "1193:7:14" + }, + "id": 2345, + "nodeType": "InheritanceSpecifier", + "src": "1193:7:14" + }, + { + "baseName": { + "id": 2346, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 308, + "src": "1202:13:14" + }, + "id": 2347, + "nodeType": "InheritanceSpecifier", + "src": "1202:13:14" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 2813, + "linearizedBaseContracts": [ + 2813, + 308, + 1647, + 1659, + 381, + 486, + 1346 + ], + "name": "Union", + "nameLocation": "1184:5:14", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 2351, + "libraryName": { + "id": 2348, + "name": "Counters", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1420, + "src": "1229:8:14" + }, + "nodeType": "UsingForDirective", + "src": "1223:36:14", + "typeName": { + "id": 2350, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2349, + "name": "Counters.Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1352, + "src": "1242:16:14" + }, + "referencedDeclaration": 1352, + "src": "1242:16:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter" + } + } + }, + { + "constant": false, + "id": 2353, + "mutability": "mutable", + "name": "_passportFee", + "nameLocation": "1278:12:14", + "nodeType": "VariableDeclaration", + "scope": 2813, + "src": "1265:25:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2352, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1265:4:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 2357, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "1312:6:14", + "nodeType": "VariableDeclaration", + "scope": 2813, + "src": "1296:32:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2354, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1296:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 2355, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "1321:5:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 2356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1321:7:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": true, + "id": 2360, + "mutability": "constant", + "name": "_INTERFACE_ID_IERC721ENUMERABLE", + "nameLocation": "1359:31:14", + "nodeType": "VariableDeclaration", + "scope": 2813, + "src": "1335:68:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 2358, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1335:6:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "hexValue": "30783738306539643633", + "id": 2359, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1393:10:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_2014223715_by_1", + "typeString": "int_const 2014223715" + }, + "value": "0x780e9d63" + }, + "visibility": "private" + }, + { + "constant": true, + "functionSelector": "38743904", + "id": 2365, + "mutability": "constant", + "name": "moderator", + "nameLocation": "1434:9:14", + "nodeType": "VariableDeclaration", + "scope": 2813, + "src": "1410:58:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2361, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1410:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "6d6f64657261746f72", + "id": 2363, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1456:11:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157", + "typeString": "literal_string \"moderator\"" + }, + "value": "moderator" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157", + "typeString": "literal_string \"moderator\"" + } + ], + "id": 2362, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1446:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 2364, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1446:22:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "anonymous": false, + "id": 2380, + "name": "ApplicationForJoin", + "nameLocation": "1500:18:14", + "nodeType": "EventDefinition", + "parameters": { + "id": 2379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2367, + "indexed": false, + "mutability": "mutable", + "name": "chat_id", + "nameLocation": "1525:7:14", + "nodeType": "VariableDeclaration", + "scope": 2380, + "src": "1519:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2366, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1519:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2369, + "indexed": false, + "mutability": "mutable", + "name": "applier_id", + "nameLocation": "1540:10:14", + "nodeType": "VariableDeclaration", + "scope": 2380, + "src": "1534:16:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2368, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1534:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2371, + "indexed": false, + "mutability": "mutable", + "name": "multy_wallet_address", + "nameLocation": "1559:20:14", + "nodeType": "VariableDeclaration", + "scope": 2380, + "src": "1551:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2370, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1551:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2374, + "indexed": false, + "mutability": "mutable", + "name": "vote_type", + "nameLocation": "1591:9:14", + "nodeType": "VariableDeclaration", + "scope": 2380, + "src": "1580:20:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 2373, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2372, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2425, + "src": "1580:10:14" + }, + "referencedDeclaration": 2425, + "src": "1580:10:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2376, + "indexed": false, + "mutability": "mutable", + "name": "voting_token_address", + "nameLocation": "1610:20:14", + "nodeType": "VariableDeclaration", + "scope": 2380, + "src": "1602:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2375, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1602:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2378, + "indexed": false, + "mutability": "mutable", + "name": "group_name", + "nameLocation": "1639:10:14", + "nodeType": "VariableDeclaration", + "scope": 2380, + "src": "1632:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2377, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1632:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1518:132:14" + }, + "src": "1494:157:14" + }, + { + "anonymous": false, + "id": 2395, + "name": "ApplicationForJoinIndexed", + "nameLocation": "1662:25:14", + "nodeType": "EventDefinition", + "parameters": { + "id": 2394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2382, + "indexed": true, + "mutability": "mutable", + "name": "chat_id", + "nameLocation": "1702:7:14", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "1688:21:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2381, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1688:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2384, + "indexed": false, + "mutability": "mutable", + "name": "applier_id", + "nameLocation": "1717:10:14", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "1711:16:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2383, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1711:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2386, + "indexed": false, + "mutability": "mutable", + "name": "multy_wallet_address", + "nameLocation": "1736:20:14", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "1728:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2385, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1728:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2389, + "indexed": false, + "mutability": "mutable", + "name": "vote_type", + "nameLocation": "1768:9:14", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "1757:20:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 2388, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2387, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2425, + "src": "1757:10:14" + }, + "referencedDeclaration": 2425, + "src": "1757:10:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2391, + "indexed": false, + "mutability": "mutable", + "name": "voting_token_address", + "nameLocation": "1787:20:14", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "1779:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1779:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2393, + "indexed": false, + "mutability": "mutable", + "name": "group_name", + "nameLocation": "1816:10:14", + "nodeType": "VariableDeclaration", + "scope": 2395, + "src": "1809:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2392, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1809:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1687:140:14" + }, + "src": "1656:172:14" + }, + { + "anonymous": false, + "id": 2408, + "name": "ApprovedJoin", + "nameLocation": "1839:12:14", + "nodeType": "EventDefinition", + "parameters": { + "id": 2407, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2397, + "indexed": false, + "mutability": "mutable", + "name": "chat_id", + "nameLocation": "1856:7:14", + "nodeType": "VariableDeclaration", + "scope": 2408, + "src": "1852:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2396, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "1852:3:14", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2399, + "indexed": false, + "mutability": "mutable", + "name": "multy_wallet_address", + "nameLocation": "1872:20:14", + "nodeType": "VariableDeclaration", + "scope": 2408, + "src": "1864:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2398, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1864:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2402, + "indexed": false, + "mutability": "mutable", + "name": "vote_type", + "nameLocation": "1904:9:14", + "nodeType": "VariableDeclaration", + "scope": 2408, + "src": "1893:20:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 2401, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2400, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2425, + "src": "1893:10:14" + }, + "referencedDeclaration": 2425, + "src": "1893:10:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2404, + "indexed": false, + "mutability": "mutable", + "name": "voting_token_address", + "nameLocation": "1923:20:14", + "nodeType": "VariableDeclaration", + "scope": 2408, + "src": "1915:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2403, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1915:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2406, + "indexed": false, + "mutability": "mutable", + "name": "group_name", + "nameLocation": "1952:10:14", + "nodeType": "VariableDeclaration", + "scope": 2408, + "src": "1945:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2405, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1945:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1851:112:14" + }, + "src": "1833:131:14" + }, + { + "anonymous": false, + "id": 2421, + "name": "DeclinedApplication", + "nameLocation": "1975:19:14", + "nodeType": "EventDefinition", + "parameters": { + "id": 2420, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2410, + "indexed": false, + "mutability": "mutable", + "name": "chat_id", + "nameLocation": "1999:7:14", + "nodeType": "VariableDeclaration", + "scope": 2421, + "src": "1995:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2409, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "1995:3:14", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2412, + "indexed": false, + "mutability": "mutable", + "name": "multy_wallet_address", + "nameLocation": "2015:20:14", + "nodeType": "VariableDeclaration", + "scope": 2421, + "src": "2007:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2411, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2007:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2415, + "indexed": false, + "mutability": "mutable", + "name": "vote_type", + "nameLocation": "2047:9:14", + "nodeType": "VariableDeclaration", + "scope": 2421, + "src": "2036:20:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 2414, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2413, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2425, + "src": "2036:10:14" + }, + "referencedDeclaration": 2425, + "src": "2036:10:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2417, + "indexed": false, + "mutability": "mutable", + "name": "voting_token_address", + "nameLocation": "2066:20:14", + "nodeType": "VariableDeclaration", + "scope": 2421, + "src": "2058:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2416, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2058:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2419, + "indexed": false, + "mutability": "mutable", + "name": "group_name", + "nameLocation": "2095:10:14", + "nodeType": "VariableDeclaration", + "scope": 2421, + "src": "2088:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2418, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2088:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1994:112:14" + }, + "src": "1969:138:14" + }, + { + "canonicalName": "Union.VotingType", + "id": 2425, + "members": [ + { + "id": 2422, + "name": "erc20", + "nameLocation": "2139:5:14", + "nodeType": "EnumValue", + "src": "2139:5:14" + }, + { + "id": 2423, + "name": "erc20Votes", + "nameLocation": "2146:10:14", + "nodeType": "EnumValue", + "src": "2146:10:14" + }, + { + "id": 2424, + "name": "erc721", + "nameLocation": "2158:6:14", + "nodeType": "EnumValue", + "src": "2158:6:14" + } + ], + "name": "VotingType", + "nameLocation": "2127:10:14", + "nodeType": "EnumDefinition", + "src": "2122:44:14" + }, + { + "canonicalName": "Union.DAO", + "id": 2441, + "members": [ + { + "constant": false, + "id": 2427, + "mutability": "mutable", + "name": "chatOwnerAddress", + "nameLocation": "2234:16:14", + "nodeType": "VariableDeclaration", + "scope": 2441, + "src": "2226:24:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2426, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2226:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2429, + "mutability": "mutable", + "name": "tgId", + "nameLocation": "2264:4:14", + "nodeType": "VariableDeclaration", + "scope": 2441, + "src": "2258:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2428, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "2258:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2431, + "mutability": "mutable", + "name": "valid", + "nameLocation": "2281:5:14", + "nodeType": "VariableDeclaration", + "scope": 2441, + "src": "2276:10:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2430, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2276:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2433, + "mutability": "mutable", + "name": "multisigAddress", + "nameLocation": "2302:15:14", + "nodeType": "VariableDeclaration", + "scope": 2441, + "src": "2294:23:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2294:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2436, + "mutability": "mutable", + "name": "votingType", + "nameLocation": "2336:10:14", + "nodeType": "VariableDeclaration", + "scope": 2441, + "src": "2325:21:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 2435, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2434, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2425, + "src": "2325:10:14" + }, + "referencedDeclaration": 2425, + "src": "2325:10:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2438, + "mutability": "mutable", + "name": "votingToken", + "nameLocation": "2362:11:14", + "nodeType": "VariableDeclaration", + "scope": 2441, + "src": "2354:19:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2437, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2354:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2440, + "mutability": "mutable", + "name": "group_name", + "nameLocation": "2388:10:14", + "nodeType": "VariableDeclaration", + "scope": 2441, + "src": "2381:17:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2439, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2381:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "DAO", + "nameLocation": "2214:3:14", + "nodeType": "StructDefinition", + "scope": 2813, + "src": "2207:209:14", + "visibility": "public" + }, + { + "body": { + "id": 2482, + "nodeType": "Block", + "src": "2499:269:14", + "statements": [ + { + "expression": { + "id": 2448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2446, + "name": "_passportContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2500, + "src": "2509:17:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2447, + "name": "passportContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2443, + "src": "2529:17:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2509:37:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2449, + "nodeType": "ExpressionStatement", + "src": "2509:37:14" + }, + { + "expression": { + "id": 2454, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2450, + "name": "tgpassport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2503, + "src": "2556:10:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$2333", + "typeString": "contract TGPassport" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2452, + "name": "passportContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2443, + "src": "2580:17:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2451, + "name": "TGPassport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2333, + "src": "2569:10:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TGPassport_$2333_$", + "typeString": "type(contract TGPassport)" + } + }, + "id": 2453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2569:29:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$2333", + "typeString": "contract TGPassport" + } + }, + "src": "2556:42:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$2333", + "typeString": "contract TGPassport" + } + }, + "id": 2455, + "nodeType": "ExpressionStatement", + "src": "2556:42:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2459, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2365, + "src": "2627:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 2456, + "name": "console", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10925, + "src": "2608:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_console_$10925_$", + "typeString": "type(library console)" + } + }, + "id": 2458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "logBytes32", + "nodeType": "MemberAccess", + "referencedDeclaration": 3428, + "src": "2608:18:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$__$", + "typeString": "function (bytes32) view" + } + }, + "id": 2460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2608:29:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2461, + "nodeType": "ExpressionStatement", + "src": "2608:29:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2463, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2365, + "src": "2657:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 2464, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2667:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2667:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2462, + "name": "grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 159, + "src": "2647:9:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 2466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2647:31:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2467, + "nodeType": "ExpressionStatement", + "src": "2647:31:14" + }, + { + "assignments": [ + 2469 + ], + "declarations": [ + { + "constant": false, + "id": 2469, + "mutability": "mutable", + "name": "flag", + "nameLocation": "2693:4:14", + "nodeType": "VariableDeclaration", + "scope": 2482, + "src": "2688:9:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2468, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2688:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 2475, + "initialValue": { + "arguments": [ + { + "id": 2471, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2365, + "src": "2708:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 2472, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2718:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2718:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2470, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "2700:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 2474, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2700:29:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2688:41:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2479, + "name": "flag", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2469, + "src": "2755:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 2476, + "name": "console", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10925, + "src": "2739:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_console_$10925_$", + "typeString": "type(library console)" + } + }, + "id": 2478, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "logBool", + "nodeType": "MemberAccess", + "referencedDeclaration": 2952, + "src": "2739:15:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bool_$returns$__$", + "typeString": "function (bool) view" + } + }, + "id": 2480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2739:21:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2481, + "nodeType": "ExpressionStatement", + "src": "2739:21:14" + } + ] + }, + "id": 2483, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2444, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2443, + "mutability": "mutable", + "name": "passportContract_", + "nameLocation": "2481:17:14", + "nodeType": "VariableDeclaration", + "scope": 2483, + "src": "2473:25:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2442, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2473:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2472:27:14" + }, + "returnParameters": { + "id": 2445, + "nodeType": "ParameterList", + "parameters": [], + "src": "2499:0:14" + }, + "scope": 2813, + "src": "2461:307:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "d6b2da8e", + "id": 2487, + "mutability": "mutable", + "name": "daoAddresses", + "nameLocation": "2904:12:14", + "nodeType": "VariableDeclaration", + "scope": 2813, + "src": "2870:46:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + }, + "typeName": { + "id": 2486, + "keyType": { + "id": 2484, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "2879:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Mapping", + "src": "2870:26:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + }, + "valueType": { + "id": 2485, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2888:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "d698b364", + "id": 2490, + "mutability": "mutable", + "name": "Chat_id_array", + "nameLocation": "2938:13:14", + "nodeType": "VariableDeclaration", + "scope": 2813, + "src": "2923:28:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage", + "typeString": "int64[]" + }, + "typeName": { + "baseType": { + "id": 2488, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "2923:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "id": 2489, + "nodeType": "ArrayTypeName", + "src": "2923:7:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage_ptr", + "typeString": "int64[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 2493, + "mutability": "mutable", + "name": "dao_count", + "nameLocation": "2975:9:14", + "nodeType": "VariableDeclaration", + "scope": 2813, + "src": "2958:26:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 2492, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2491, + "name": "Counters.Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1352, + "src": "2958:16:14" + }, + "referencedDeclaration": 1352, + "src": "2958:16:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "c25f3cf6", + "id": 2498, + "mutability": "mutable", + "name": "daos", + "nameLocation": "3081:4:14", + "nodeType": "VariableDeclaration", + "scope": 2813, + "src": "3050:35:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$2441_storage_$", + "typeString": "mapping(address => struct Union.DAO)" + }, + "typeName": { + "id": 2497, + "keyType": { + "id": 2494, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3058:7:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3050:23:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$2441_storage_$", + "typeString": "mapping(address => struct Union.DAO)" + }, + "valueType": { + "id": 2496, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2495, + "name": "DAO", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2441, + "src": "3069:3:14" + }, + "referencedDeclaration": 2441, + "src": "3069:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_storage_ptr", + "typeString": "struct Union.DAO" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 2500, + "mutability": "mutable", + "name": "_passportContract", + "nameLocation": "3108:17:14", + "nodeType": "VariableDeclaration", + "scope": 2813, + "src": "3092:33:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2499, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3092:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "7527d5a1", + "id": 2503, + "mutability": "mutable", + "name": "tgpassport", + "nameLocation": "3149:10:14", + "nodeType": "VariableDeclaration", + "scope": 2813, + "src": "3131:28:14", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$2333", + "typeString": "contract TGPassport" + }, + "typeName": { + "id": 2502, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2501, + "name": "TGPassport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2333, + "src": "3131:10:14" + }, + "referencedDeclaration": 2333, + "src": "3131:10:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$2333", + "typeString": "contract TGPassport" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 2628, + "nodeType": "Block", + "src": "4038:1157:14", + "statements": [ + { + "assignments": [ + 2521 + ], + "declarations": [ + { + "constant": false, + "id": 2521, + "mutability": "mutable", + "name": "daoOwner", + "nameLocation": "4221:8:14", + "nodeType": "VariableDeclaration", + "scope": 2628, + "src": "4213:16:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2520, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4213:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2526, + "initialValue": { + "arguments": [ + { + "id": 2524, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2506, + "src": "4265:9:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "expression": { + "id": 2522, + "name": "tgpassport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2503, + "src": "4232:10:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$2333", + "typeString": "contract TGPassport" + } + }, + "id": 2523, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GetPassportWalletByID", + "nodeType": "MemberAccess", + "referencedDeclaration": 2224, + "src": "4232:32:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_int64_$returns$_t_address_$", + "typeString": "function (int64) view external returns (address)" + } + }, + "id": 2525, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4232:43:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4213:62:14" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2528, + "name": "daoOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2521, + "src": "4293:8:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2529, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4305:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4305:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4293:22:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5573657220646964206e6f742072656769737472656420696e20544750", + "id": 2532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4316:31:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9", + "typeString": "literal_string \"User did not registred in TGP\"" + }, + "value": "User did not registred in TGP" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9", + "typeString": "literal_string \"User did not registred in TGP\"" + } + ], + "id": 2527, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4285:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4285:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2534, + "nodeType": "ExpressionStatement", + "src": "4285:63:14" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 2543, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 2536, + "name": "daoAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "4365:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 2538, + "indexExpression": { + "id": 2537, + "name": "daoTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2508, + "src": "4378:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4365:19:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830", + "id": 2541, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4396:3:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 2540, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4388:7:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2539, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4388:7:14", + "typeDescriptions": {} + } + }, + "id": 2542, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4388:12:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4365:35:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746869732063686174207467696420616c72656164792074616b656e", + "id": 2544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4402:30:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c", + "typeString": "literal_string \"this chat tgid already taken\"" + }, + "value": "this chat tgid already taken" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c", + "typeString": "literal_string \"this chat tgid already taken\"" + } + ], + "id": 2535, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4357:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2545, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4357:76:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2546, + "nodeType": "ExpressionStatement", + "src": "4357:76:14" + }, + { + "expression": { + "id": 2551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2547, + "name": "daoAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "4441:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 2549, + "indexExpression": { + "id": 2548, + "name": "daoTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2508, + "src": "4454:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4441:19:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2550, + "name": "dao_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2510, + "src": "4463:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4441:26:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2552, + "nodeType": "ExpressionStatement", + "src": "4441:26:14" + }, + { + "assignments": [ + 2554 + ], + "declarations": [ + { + "constant": false, + "id": 2554, + "mutability": "mutable", + "name": "checkStandard", + "nameLocation": "4486:13:14", + "nodeType": "VariableDeclaration", + "scope": 2628, + "src": "4481:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2553, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4481:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 2559, + "initialValue": { + "arguments": [ + { + "id": 2556, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2513, + "src": "4528:11:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + { + "id": 2557, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2515, + "src": "4541:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2555, + "name": "_checkStandardVotingToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2785, + "src": "4502:25:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_enum$_VotingType_$2425_$_t_address_$returns$_t_bool_$", + "typeString": "function (enum Union.VotingType,address) view returns (bool)" + } + }, + "id": 2558, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4502:60:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4481:81:14" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2561, + "name": "checkStandard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2554, + "src": "4578:13:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "74727565", + "id": 2562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4595:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4578:21:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436f6e747261637420646f6573206e6f74206d61746368207769746820636f72726573706f6e64696e672074797065", + "id": 2564, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4600:49:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24", + "typeString": "literal_string \"Contract does not match with corresponding type\"" + }, + "value": "Contract does not match with corresponding type" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24", + "typeString": "literal_string \"Contract does not match with corresponding type\"" + } + ], + "id": 2560, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4570:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4570:80:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2566, + "nodeType": "ExpressionStatement", + "src": "4570:80:14" + }, + { + "expression": { + "id": 2571, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 2567, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2353, + "src": "4659:12:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 2568, + "name": "tgpassport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2503, + "src": "4674:10:14", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$2333", + "typeString": "contract TGPassport" + } + }, + "id": 2569, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GetPassportFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 2212, + "src": "4674:25:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 2570, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4674:27:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4659:42:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 2572, + "nodeType": "ExpressionStatement", + "src": "4659:42:14" + }, + { + "expression": { + "id": 2586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2573, + "name": "daos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2498, + "src": "4709:4:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$2441_storage_$", + "typeString": "mapping(address => struct Union.DAO storage ref)" + } + }, + "id": 2575, + "indexExpression": { + "id": 2574, + "name": "dao_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2510, + "src": "4714:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4709:10:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 2577, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4726:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2578, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4726:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2579, + "name": "daoTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2508, + "src": "4738:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "hexValue": "66616c7365", + "id": 2580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4745:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "id": 2581, + "name": "dao_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2510, + "src": "4752:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2582, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2513, + "src": "4758:11:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + { + "id": 2583, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2515, + "src": "4771:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2584, + "name": "dao_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2517, + "src": "4793:9:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2576, + "name": "DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2441, + "src": "4722:3:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_DAO_$2441_storage_ptr_$", + "typeString": "type(struct Union.DAO storage pointer)" + } + }, + "id": 2585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4722:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "src": "4709:94:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "id": 2587, + "nodeType": "ExpressionStatement", + "src": "4709:94:14" + }, + { + "assignments": [ + 2589, + null + ], + "declarations": [ + { + "constant": false, + "id": 2589, + "mutability": "mutable", + "name": "feePaid", + "nameLocation": "4817:7:14", + "nodeType": "VariableDeclaration", + "scope": 2628, + "src": "4812:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2588, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4812:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 2596, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 2594, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4862:2:14", + "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": 2590, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2357, + "src": "4829:6:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 2591, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "4829:11:14", + "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": 2593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 2592, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2353, + "src": "4848:12:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "4829:32:14", + "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": 2595, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4829:36:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4811:54:14" + }, + { + "expression": { + "arguments": [ + { + "id": 2598, + "name": "feePaid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2589, + "src": "4883:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "556e61626c6520746f207472616e7366657220666565", + "id": 2599, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4892:24:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "typeString": "literal_string \"Unable to transfer fee\"" + }, + "value": "Unable to transfer fee" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "typeString": "literal_string \"Unable to transfer fee\"" + } + ], + "id": 2597, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4875:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4875:42:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2601, + "nodeType": "ExpressionStatement", + "src": "4875:42:14" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2606, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2603, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4934:3:14", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2604, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "4934:9:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2605, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2353, + "src": "4947:12:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4934:25:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "50617373706f727420666565206973206e6f742070616964", + "id": 2607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4961:26:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "typeString": "literal_string \"Passport fee is not paid\"" + }, + "value": "Passport fee is not paid" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "typeString": "literal_string \"Passport fee is not paid\"" + } + ], + "id": 2602, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4925:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4925:63:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2609, + "nodeType": "ExpressionStatement", + "src": "4925:63:14" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2611, + "name": "daoTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2508, + "src": "5020:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2612, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2506, + "src": "5026:9:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2613, + "name": "dao_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2510, + "src": "5036:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2614, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2513, + "src": "5041:11:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + { + "id": 2615, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2515, + "src": "5053:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2616, + "name": "dao_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2517, + "src": "5075:9:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2610, + "name": "ApplicationForJoin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2380, + "src": "5001:18:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_int64_$_t_address_$_t_enum$_VotingType_$2425_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int64,int64,address,enum Union.VotingType,address,string memory)" + } + }, + "id": 2617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5001:84:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2618, + "nodeType": "EmitStatement", + "src": "4996:89:14" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2620, + "name": "daoTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2508, + "src": "5124:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2621, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2506, + "src": "5130:9:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2622, + "name": "dao_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2510, + "src": "5140:4:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2623, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2513, + "src": "5145:11:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + { + "id": 2624, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2515, + "src": "5157:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2625, + "name": "dao_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2517, + "src": "5179:9:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2619, + "name": "ApplicationForJoinIndexed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2395, + "src": "5098:25:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_int64_$_t_address_$_t_enum$_VotingType_$2425_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int64,int64,address,enum Union.VotingType,address,string memory)" + } + }, + "id": 2626, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5098:91:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2627, + "nodeType": "EmitStatement", + "src": "5093:96:14" + } + ] + }, + "documentation": { + "id": 2504, + "nodeType": "StructuredDocumentation", + "src": "3172:699:14", + "text": "This function suggest applying for union for any dao\n REQUIREMENTS:\n 1.dao should have it's multisig address\n 2.owner of multisig must be registred in Passport contract with it's personal tg_id\n 3. this tg_id must be equal to tgid of appling chat admin.\n Last check can be done only by oracle\n @param applyerTg -- tgid of user who sent apply\n @param daoTg -- tgid of chat\n @param dao_ -- multisig address\n @param votingType_ -- represents voting token's type: 0=erc20 1=erc20Snapshot 2=erc721\n @param dao_name_ -- string name of group chat. can be uses as a link (if link is https://t.me/eth_ru then name is @eth_ru)" + }, + "functionSelector": "b9f7076f", + "id": 2629, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ApplyForUnion", + "nameLocation": "3885:13:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2506, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "3906:9:14", + "nodeType": "VariableDeclaration", + "scope": 2629, + "src": "3900:15:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2505, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "3900:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2508, + "mutability": "mutable", + "name": "daoTg", + "nameLocation": "3923:5:14", + "nodeType": "VariableDeclaration", + "scope": 2629, + "src": "3917:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2507, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "3917:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2510, + "mutability": "mutable", + "name": "dao_", + "nameLocation": "3938:4:14", + "nodeType": "VariableDeclaration", + "scope": 2629, + "src": "3930:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2509, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3930:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2513, + "mutability": "mutable", + "name": "votingType_", + "nameLocation": "3955:11:14", + "nodeType": "VariableDeclaration", + "scope": 2629, + "src": "3944:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 2512, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2511, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2425, + "src": "3944:10:14" + }, + "referencedDeclaration": 2425, + "src": "3944:10:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2515, + "mutability": "mutable", + "name": "votingTokenContract_", + "nameLocation": "3976:20:14", + "nodeType": "VariableDeclaration", + "scope": 2629, + "src": "3968:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2514, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3968:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2517, + "mutability": "mutable", + "name": "dao_name_", + "nameLocation": "4012:9:14", + "nodeType": "VariableDeclaration", + "scope": 2629, + "src": "3998:23:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2516, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3998:6:14", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "3899:123:14" + }, + "returnParameters": { + "id": 2519, + "nodeType": "ParameterList", + "parameters": [], + "src": "4038:0:14" + }, + "scope": 2813, + "src": "3876:1319:14", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2689, + "nodeType": "Block", + "src": "5472:358:14", + "statements": [ + { + "assignments": [ + 2639 + ], + "declarations": [ + { + "constant": false, + "id": 2639, + "mutability": "mutable", + "name": "org", + "nameLocation": "5491:3:14", + "nodeType": "VariableDeclaration", + "scope": 2689, + "src": "5480:14:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO" + }, + "typeName": { + "id": 2638, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2637, + "name": "DAO", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2441, + "src": "5480:3:14" + }, + "referencedDeclaration": 2441, + "src": "5480:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_storage_ptr", + "typeString": "struct Union.DAO" + } + }, + "visibility": "internal" + } + ], + "id": 2643, + "initialValue": { + "baseExpression": { + "id": 2640, + "name": "daos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2498, + "src": "5497:4:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$2441_storage_$", + "typeString": "mapping(address => struct Union.DAO storage ref)" + } + }, + "id": 2642, + "indexExpression": { + "id": 2641, + "name": "daoAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5502:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5497:16:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5480:33:14" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2645, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5529:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2646, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2431, + "src": "5529:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 2647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5542:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "5529:18:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "616c726561647920686173206265656e20617070726f766564204f52206469646e2774206170706c69656420617420616c6c", + "id": 2649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5549:52:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "typeString": "literal_string \"already has been approved OR didn't applied at all\"" + }, + "value": "already has been approved OR didn't applied at all" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "typeString": "literal_string \"already has been approved OR didn't applied at all\"" + } + ], + "id": 2644, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5521:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5521:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2651, + "nodeType": "ExpressionStatement", + "src": "5521:81:14" + }, + { + "expression": { + "id": 2656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2652, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5610:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2654, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "valid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2431, + "src": "5610:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2655, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5622:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5610:16:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2657, + "nodeType": "ExpressionStatement", + "src": "5610:16:14" + }, + { + "expression": { + "id": 2662, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2658, + "name": "daos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2498, + "src": "5634:4:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$2441_storage_$", + "typeString": "mapping(address => struct Union.DAO storage ref)" + } + }, + "id": 2660, + "indexExpression": { + "id": 2659, + "name": "daoAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2632, + "src": "5639:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5634:16:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2661, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5653:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "src": "5634:22:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "id": 2663, + "nodeType": "ExpressionStatement", + "src": "5634:22:14" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 2664, + "name": "dao_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2493, + "src": "5664:9:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage", + "typeString": "struct Counters.Counter storage ref" + } + }, + "id": 2666, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "increment", + "nodeType": "MemberAccess", + "referencedDeclaration": 1378, + "src": "5664:19:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$1352_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$1352_storage_ptr_$", + "typeString": "function (struct Counters.Counter storage pointer)" + } + }, + "id": 2667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5664:21:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2668, + "nodeType": "ExpressionStatement", + "src": "5664:21:14" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2672, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5712:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2673, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 2429, + "src": "5712:8:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "expression": { + "id": 2669, + "name": "Chat_id_array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2490, + "src": "5693:13:14", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage", + "typeString": "int64[] storage ref" + } + }, + "id": 2671, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "5693:18:14", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_int64_$dyn_storage_ptr_$_t_int64_$returns$__$bound_to$_t_array$_t_int64_$dyn_storage_ptr_$", + "typeString": "function (int64[] storage pointer,int64)" + } + }, + "id": 2674, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5693:28:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2675, + "nodeType": "ExpressionStatement", + "src": "5693:28:14" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 2677, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5747:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2678, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 2429, + "src": "5747:8:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 2679, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5756:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2680, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "multisigAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 2433, + "src": "5756:19:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2681, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5776:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2682, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingType", + "nodeType": "MemberAccess", + "referencedDeclaration": 2436, + "src": "5776:14:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + { + "expression": { + "id": 2683, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5791:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2684, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingToken", + "nodeType": "MemberAccess", + "referencedDeclaration": 2438, + "src": "5791:15:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2685, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2639, + "src": "5808:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2686, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2440, + "src": "5808:14:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2676, + "name": "ApprovedJoin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2408, + "src": "5734:12:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int256_$_t_address_$_t_enum$_VotingType_$2425_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int256,address,enum Union.VotingType,address,string memory)" + } + }, + "id": 2687, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5734:89:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2688, + "nodeType": "EmitStatement", + "src": "5729:94:14" + } + ] + }, + "documentation": { + "id": 2630, + "nodeType": "StructuredDocumentation", + "src": "5207:202:14", + "text": " @dev This function intended to be used by bot, cause only bot can check if tg id of multisig owner is eqal of tg id of chat admin\n @param daoAddress address of multisig wallet" + }, + "functionSelector": "ad8f8660", + "id": 2690, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2635, + "kind": "modifierInvocation", + "modifierName": { + "id": 2634, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "5462:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "5462:9:14" + } + ], + "name": "ApproveJoin", + "nameLocation": "5423:11:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2632, + "mutability": "mutable", + "name": "daoAddress", + "nameLocation": "5443:10:14", + "nodeType": "VariableDeclaration", + "scope": 2690, + "src": "5435:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2631, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5435:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5434:20:14" + }, + "returnParameters": { + "id": 2636, + "nodeType": "ParameterList", + "parameters": [], + "src": "5472:0:14" + }, + "scope": 2813, + "src": "5414:416:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2737, + "nodeType": "Block", + "src": "6031:373:14", + "statements": [ + { + "assignments": [ + 2700 + ], + "declarations": [ + { + "constant": false, + "id": 2700, + "mutability": "mutable", + "name": "org", + "nameLocation": "6052:3:14", + "nodeType": "VariableDeclaration", + "scope": 2737, + "src": "6041:14:14", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO" + }, + "typeName": { + "id": 2699, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2698, + "name": "DAO", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2441, + "src": "6041:3:14" + }, + "referencedDeclaration": 2441, + "src": "6041:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_storage_ptr", + "typeString": "struct Union.DAO" + } + }, + "visibility": "internal" + } + ], + "id": 2704, + "initialValue": { + "baseExpression": { + "id": 2701, + "name": "daos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2498, + "src": "6058:4:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$2441_storage_$", + "typeString": "mapping(address => struct Union.DAO storage ref)" + } + }, + "id": 2703, + "indexExpression": { + "id": 2702, + "name": "daoAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2693, + "src": "6063:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6058:16:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6041:33:14" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2709, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2706, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2700, + "src": "6092:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2707, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid", + "nodeType": "MemberAccess", + "referencedDeclaration": 2431, + "src": "6092:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 2708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6105:5:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "6092:18:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "616c726561647920686173206265656e20617070726f766564204f52206469646e2774206170706c69656420617420616c6c", + "id": 2710, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6112:52:14", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "typeString": "literal_string \"already has been approved OR didn't applied at all\"" + }, + "value": "already has been approved OR didn't applied at all" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "typeString": "literal_string \"already has been approved OR didn't applied at all\"" + } + ], + "id": 2705, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6084:7:14", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6084:81:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2712, + "nodeType": "ExpressionStatement", + "src": "6084:81:14" + }, + { + "expression": { + "id": 2716, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6175:23:14", + "subExpression": { + "baseExpression": { + "id": 2713, + "name": "daos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2498, + "src": "6182:4:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$2441_storage_$", + "typeString": "mapping(address => struct Union.DAO storage ref)" + } + }, + "id": 2715, + "indexExpression": { + "id": 2714, + "name": "daoAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2693, + "src": "6187:10:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6182:16:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2717, + "nodeType": "ExpressionStatement", + "src": "6175:23:14" + }, + { + "expression": { + "id": 2722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6208:29:14", + "subExpression": { + "baseExpression": { + "id": 2718, + "name": "daoAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "6215:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 2721, + "indexExpression": { + "expression": { + "id": 2719, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2700, + "src": "6228:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2720, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 2429, + "src": "6228:8:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6215:22:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2723, + "nodeType": "ExpressionStatement", + "src": "6208:29:14" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 2725, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2700, + "src": "6321:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2726, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 2429, + "src": "6321:8:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 2727, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2700, + "src": "6330:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2728, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "multisigAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 2433, + "src": "6330:19:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2729, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2700, + "src": "6350:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2730, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingType", + "nodeType": "MemberAccess", + "referencedDeclaration": 2436, + "src": "6350:14:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + { + "expression": { + "id": 2731, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2700, + "src": "6365:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2732, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingToken", + "nodeType": "MemberAccess", + "referencedDeclaration": 2438, + "src": "6365:15:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2733, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2700, + "src": "6382:3:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$2441_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2734, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_name", + "nodeType": "MemberAccess", + "referencedDeclaration": 2440, + "src": "6382:14:14", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2724, + "name": "DeclinedApplication", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2421, + "src": "6301:19:14", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int256_$_t_address_$_t_enum$_VotingType_$2425_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int256,address,enum Union.VotingType,address,string memory)" + } + }, + "id": 2735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6301:96:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2736, + "nodeType": "EmitStatement", + "src": "6296:101:14" + } + ] + }, + "documentation": { + "id": 2691, + "nodeType": "StructuredDocumentation", + "src": "5836:132:14", + "text": " @dev function for decline join (for erase unvalid data as example)\n @param daoAddress address of multisig" + }, + "functionSelector": "36b9f727", + "id": 2738, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2696, + "kind": "modifierInvocation", + "modifierName": { + "id": 2695, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "6021:9:14" + }, + "nodeType": "ModifierInvocation", + "src": "6021:9:14" + } + ], + "name": "DeclineJoin", + "nameLocation": "5982:11:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2694, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2693, + "mutability": "mutable", + "name": "daoAddress", + "nameLocation": "6002:10:14", + "nodeType": "VariableDeclaration", + "scope": 2738, + "src": "5994:18:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2692, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5994:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5993:20:14" + }, + "returnParameters": { + "id": 2697, + "nodeType": "ParameterList", + "parameters": [], + "src": "6031:0:14" + }, + "scope": 2813, + "src": "5973:431:14", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2784, + "nodeType": "Block", + "src": "6632:478:14", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + "id": 2752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2749, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2742, + "src": "6644:11:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2750, + "name": "VotingType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2425, + "src": "6659:10:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_VotingType_$2425_$", + "typeString": "type(enum Union.VotingType)" + } + }, + "id": 2751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "erc721", + "nodeType": "MemberAccess", + "referencedDeclaration": 2424, + "src": "6659:17:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "src": "6644:32:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2766, + "nodeType": "IfStatement", + "src": "6640:194:14", + "trueBody": { + "id": 2765, + "nodeType": "Block", + "src": "6678:156:14", + "statements": [ + { + "expression": { + "id": 2761, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 2753, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2747, + "src": "6687:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2754, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6686:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2759, + "name": "_INTERFACE_ID_IERC721ENUMERABLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2360, + "src": "6767:31:14", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "arguments": [ + { + "id": 2756, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2744, + "src": "6716:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2755, + "name": "IERC721Enumerable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1324, + "src": "6698:17:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Enumerable_$1324_$", + "typeString": "type(contract IERC721Enumerable)" + } + }, + "id": 2757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6698:39:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721Enumerable_$1324", + "typeString": "contract IERC721Enumerable" + } + }, + "id": 2758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 1658, + "src": "6698:68:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view external returns (bool)" + } + }, + "id": 2760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6698:101:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6686:113:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2762, + "nodeType": "ExpressionStatement", + "src": "6686:113:14" + }, + { + "expression": { + "id": 2763, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2747, + "src": "6818:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2748, + "id": 2764, + "nodeType": "Return", + "src": "6811:14:14" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + "id": 2770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2767, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2742, + "src": "6845:11:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2768, + "name": "VotingType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2425, + "src": "6860:10:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_VotingType_$2425_$", + "typeString": "type(enum Union.VotingType)" + } + }, + "id": 2769, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "erc20", + "nodeType": "MemberAccess", + "referencedDeclaration": 2422, + "src": "6860:16:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "src": "6845:31:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2783, + "nodeType": "IfStatement", + "src": "6841:224:14", + "trueBody": { + "id": 2782, + "nodeType": "Block", + "src": "6878:187:14", + "statements": [ + { + "expression": { + "id": 2780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 2771, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2747, + "src": "6992:7:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2772, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6991:9:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 2779, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 2774, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2744, + "src": "7018:20:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2773, + "name": "IERC20Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1177, + "src": "7003:14:14", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$1177_$", + "typeString": "type(contract IERC20Metadata)" + } + }, + "id": 2775, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7003:36:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20Metadata_$1177", + "typeString": "contract IERC20Metadata" + } + }, + "id": 2776, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 1176, + "src": "7003:45:14", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", + "typeString": "function () view external returns (uint8)" + } + }, + "id": 2777, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7003:47:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3138", + "id": 2778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7054:2:14", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "src": "7003:53:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6991:65:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2781, + "nodeType": "ExpressionStatement", + "src": "6991:65:14" + } + ] + } + } + ] + }, + "documentation": { + "id": 2739, + "nodeType": "StructuredDocumentation", + "src": "6411:89:14", + "text": " @dev internal function to check interface id of voting token contract" + }, + "id": 2785, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkStandardVotingToken", + "nameLocation": "6515:25:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2745, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2742, + "mutability": "mutable", + "name": "votingType_", + "nameLocation": "6552:11:14", + "nodeType": "VariableDeclaration", + "scope": 2785, + "src": "6541:22:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 2741, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2740, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 2425, + "src": "6541:10:14" + }, + "referencedDeclaration": 2425, + "src": "6541:10:14", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$2425", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2744, + "mutability": "mutable", + "name": "votingTokenContract_", + "nameLocation": "6573:20:14", + "nodeType": "VariableDeclaration", + "scope": 2785, + "src": "6565:28:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2743, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6565:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6540:54:14" + }, + "returnParameters": { + "id": 2748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2747, + "mutability": "mutable", + "name": "success", + "nameLocation": "6623:7:14", + "nodeType": "VariableDeclaration", + "scope": 2785, + "src": "6618:12:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2746, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6618:4:14", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6617:14:14" + }, + "scope": 2813, + "src": "6505:605:14", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2801, + "nodeType": "Block", + "src": "7251:72:14", + "statements": [ + { + "assignments": [ + 2794 + ], + "declarations": [ + { + "constant": false, + "id": 2794, + "mutability": "mutable", + "name": "dao", + "nameLocation": "7269:3:14", + "nodeType": "VariableDeclaration", + "scope": 2801, + "src": "7261:11:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2793, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7261:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2798, + "initialValue": { + "baseExpression": { + "id": 2795, + "name": "daoAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2487, + "src": "7275:12:14", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 2797, + "indexExpression": { + "id": 2796, + "name": "chat_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2788, + "src": "7288:7:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7275:21:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7261:35:14" + }, + { + "expression": { + "id": 2799, + "name": "dao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2794, + "src": "7313:3:14", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2792, + "id": 2800, + "nodeType": "Return", + "src": "7306:10:14" + } + ] + }, + "documentation": { + "id": 2786, + "nodeType": "StructuredDocumentation", + "src": "7115:57:14", + "text": " @dev get multisig address by tgid of chat" + }, + "functionSelector": "e57bede4", + "id": 2802, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getDaoAddressbyChatId", + "nameLocation": "7184:21:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2789, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2788, + "mutability": "mutable", + "name": "chat_id", + "nameLocation": "7212:7:14", + "nodeType": "VariableDeclaration", + "scope": 2802, + "src": "7206:13:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2787, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "7206:5:14", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "7205:15:14" + }, + "returnParameters": { + "id": 2792, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2791, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2802, + "src": "7242:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2790, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7242:7:14", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7241:9:14" + }, + "scope": 2813, + "src": "7175:148:14", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2811, + "nodeType": "Block", + "src": "7381:38:14", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 2807, + "name": "dao_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2493, + "src": "7395:9:14", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$1352_storage", + "typeString": "struct Counters.Counter storage ref" + } + }, + "id": 2808, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "current", + "nodeType": "MemberAccess", + "referencedDeclaration": 1364, + "src": "7395:17:14", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$1352_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$1352_storage_ptr_$", + "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" + } + }, + "id": 2809, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7395:19:14", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2806, + "id": 2810, + "nodeType": "Return", + "src": "7388:26:14" + } + ] + }, + "functionSelector": "d4d8f892", + "id": 2812, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getDaoCount", + "nameLocation": "7337:11:14", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2803, + "nodeType": "ParameterList", + "parameters": [], + "src": "7348:2:14" + }, + "returnParameters": { + "id": 2806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2805, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2812, + "src": "7372:7:14", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2804, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7372:7:14", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7371:9:14" + }, + "scope": 2813, + "src": "7328:91:14", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 2814, + "src": "1175:6247:14", + "usedErrors": [] + } + ], + "src": "176:7246:14" + }, + "id": 14 + }, + "contracts/erc20/ERC20Sample.sol": { + "ast": { + "absolutePath": "contracts/erc20/ERC20Sample.sol", + "exportedSymbols": { + "Context": [ + 1346 + ], + "ERC20": [ + 1074 + ], + "ERC20Sample": [ + 2861 + ], + "IERC20": [ + 1152 + ], + "IERC20Metadata": [ + 1177 + ], + "Ownable": [ + 486 + ] + }, + "id": 2862, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2815, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "32:23:15" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "id": 2816, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2862, + "sourceUnit": 1153, + "src": "79:56:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "id": 2817, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2862, + "sourceUnit": 1178, + "src": "136:75:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/ERC20.sol", + "id": 2818, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2862, + "sourceUnit": 1075, + "src": "212:55:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 2819, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2862, + "sourceUnit": 487, + "src": "268:52:15", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 2820, + "name": "ERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1074, + "src": "716:5:15" + }, + "id": 2821, + "nodeType": "InheritanceSpecifier", + "src": "716:5:15" + }, + { + "baseName": { + "id": 2822, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 486, + "src": "723:7:15" + }, + "id": 2823, + "nodeType": "InheritanceSpecifier", + "src": "723:7:15" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 2861, + "linearizedBaseContracts": [ + 2861, + 486, + 1074, + 1177, + 1152, + 1346 + ], + "name": "ERC20Sample", + "nameLocation": "701:11:15", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 2842, + "nodeType": "Block", + "src": "859:47:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2837, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "874:3:15", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "874:10:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2839, + "name": "initialSupply", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2829, + "src": "885:13:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 2836, + "name": "mint", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2860, + "src": "869:4:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "869:30:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2841, + "nodeType": "ExpressionStatement", + "src": "869:30:15" + } + ] + }, + "id": 2843, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [ + { + "id": 2832, + "name": "name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2825, + "src": "830:5:15", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 2833, + "name": "symbol_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2827, + "src": "837:7:15", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "id": 2834, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 2831, + "name": "ERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1074, + "src": "824:5:15" + }, + "nodeType": "ModifierInvocation", + "src": "824:21:15" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2830, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2825, + "mutability": "mutable", + "name": "name_", + "nameLocation": "763:5:15", + "nodeType": "VariableDeclaration", + "scope": 2843, + "src": "749:19:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2824, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "749:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2827, + "mutability": "mutable", + "name": "symbol_", + "nameLocation": "784:7:15", + "nodeType": "VariableDeclaration", + "scope": 2843, + "src": "770:21:15", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2826, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "770:6:15", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2829, + "mutability": "mutable", + "name": "initialSupply", + "nameLocation": "801:13:15", + "nodeType": "VariableDeclaration", + "scope": 2843, + "src": "793:21:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2828, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "793:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "748:67:15" + }, + "returnParameters": { + "id": 2835, + "nodeType": "ParameterList", + "parameters": [], + "src": "859:0:15" + }, + "scope": 2861, + "src": "737:169:15", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2859, + "nodeType": "Block", + "src": "979:40:15", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 2855, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2845, + "src": "1001:2:15", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2856, + "name": "amount", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2847, + "src": "1005:6:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2852, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "989:5:15", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_ERC20Sample_$2861_$", + "typeString": "type(contract super ERC20Sample)" + } + }, + "id": 2854, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "_mint", + "nodeType": "MemberAccess", + "referencedDeclaration": 891, + "src": "989:11:15", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$_t_uint256_$returns$__$", + "typeString": "function (address,uint256)" + } + }, + "id": 2857, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "989:23:15", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2858, + "nodeType": "ExpressionStatement", + "src": "989:23:15" + } + ] + }, + "functionSelector": "40c10f19", + "id": 2860, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 2850, + "kind": "modifierInvocation", + "modifierName": { + "id": 2849, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "969:9:15" + }, + "nodeType": "ModifierInvocation", + "src": "969:9:15" + } + ], + "name": "mint", + "nameLocation": "921:4:15", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2848, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2845, + "mutability": "mutable", + "name": "to", + "nameLocation": "934:2:15", + "nodeType": "VariableDeclaration", + "scope": 2860, + "src": "926:10:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2844, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "926:7:15", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2847, + "mutability": "mutable", + "name": "amount", + "nameLocation": "946:6:15", + "nodeType": "VariableDeclaration", + "scope": 2860, + "src": "938:14:15", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2846, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "938:7:15", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "925:28:15" + }, + "returnParameters": { + "id": 2851, + "nodeType": "ParameterList", + "parameters": [], + "src": "979:0:15" + }, + "scope": 2861, + "src": "912:107:15", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + } + ], + "scope": 2862, + "src": "692:329:15", + "usedErrors": [] + } + ], + "src": "32:990:15" + }, + "id": 15 + }, + "hardhat/console.sol": { + "ast": { + "absolutePath": "hardhat/console.sol", + "exportedSymbols": { + "console": [ + 10925 + ] + }, + "id": 10926, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 2863, + "literals": [ + "solidity", + ">=", + "0.4", + ".22", + "<", + "0.9", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "32:33:16" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "fullyImplemented": true, + "id": 10925, + "linearizedBaseContracts": [ + 10925 + ], + "name": "console", + "nameLocation": "75:7:16", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 2869, + "mutability": "constant", + "name": "CONSOLE_ADDRESS", + "nameLocation": "103:15:16", + "nodeType": "VariableDeclaration", + "scope": 10925, + "src": "86:86:16", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2864, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "86:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [ + { + "hexValue": "307830303030303030303030303030303030303036333646366537333646366336353265366336663637", + "id": 2867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "129:42:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x000000000000000000636F6e736F6c652e6c6f67" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "121:7:16", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 2865, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "121:7:16", + "typeDescriptions": {} + } + }, + "id": 2868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "121:51:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "body": { + "id": 2884, + "nodeType": "Block", + "src": "236:228:16", + "statements": [ + { + "assignments": [ + 2875 + ], + "declarations": [ + { + "constant": false, + "id": 2875, + "mutability": "mutable", + "name": "payloadLength", + "nameLocation": "248:13:16", + "nodeType": "VariableDeclaration", + "scope": 2884, + "src": "240:21:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2874, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "240:7:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 2878, + "initialValue": { + "expression": { + "id": 2876, + "name": "payload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2871, + "src": "264:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 2877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "length", + "nodeType": "MemberAccess", + "src": "264:14:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "240:38:16" + }, + { + "assignments": [ + 2880 + ], + "declarations": [ + { + "constant": false, + "id": 2880, + "mutability": "mutable", + "name": "consoleAddress", + "nameLocation": "290:14:16", + "nodeType": "VariableDeclaration", + "scope": 2884, + "src": "282:22:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2879, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "282:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2882, + "initialValue": { + "id": 2881, + "name": "CONSOLE_ADDRESS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2869, + "src": "307:15:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "282:40:16" + }, + { + "AST": { + "nodeType": "YulBlock", + "src": "335:126:16", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "340:36:16", + "value": { + "arguments": [ + { + "name": "payload", + "nodeType": "YulIdentifier", + "src": "364:7:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "373:2:16", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "360:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "360:16:16" + }, + "variables": [ + { + "name": "payloadStart", + "nodeType": "YulTypedName", + "src": "344:12:16", + "type": "" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "380:77:16", + "value": { + "arguments": [ + { + "arguments": [], + "functionName": { + "name": "gas", + "nodeType": "YulIdentifier", + "src": "400:3:16" + }, + "nodeType": "YulFunctionCall", + "src": "400:5:16" + }, + { + "name": "consoleAddress", + "nodeType": "YulIdentifier", + "src": "407:14:16" + }, + { + "name": "payloadStart", + "nodeType": "YulIdentifier", + "src": "423:12:16" + }, + { + "name": "payloadLength", + "nodeType": "YulIdentifier", + "src": "437:13:16" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "452:1:16", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "455:1:16", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "staticcall", + "nodeType": "YulIdentifier", + "src": "389:10:16" + }, + "nodeType": "YulFunctionCall", + "src": "389:68:16" + }, + "variables": [ + { + "name": "r", + "nodeType": "YulTypedName", + "src": "384:1:16", + "type": "" + } + ] + } + ] + }, + "evmVersion": "istanbul", + "externalReferences": [ + { + "declaration": 2880, + "isOffset": false, + "isSlot": false, + "src": "407:14:16", + "valueSize": 1 + }, + { + "declaration": 2871, + "isOffset": false, + "isSlot": false, + "src": "364:7:16", + "valueSize": 1 + }, + { + "declaration": 2875, + "isOffset": false, + "isSlot": false, + "src": "437:13:16", + "valueSize": 1 + } + ], + "id": 2883, + "nodeType": "InlineAssembly", + "src": "326:135:16" + } + ] + }, + "id": 2885, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_sendLogPayload", + "nameLocation": "185:15:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2872, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2871, + "mutability": "mutable", + "name": "payload", + "nameLocation": "214:7:16", + "nodeType": "VariableDeclaration", + "scope": 2885, + "src": "201:20:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2870, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "201:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "200:22:16" + }, + "returnParameters": { + "id": 2873, + "nodeType": "ParameterList", + "parameters": [], + "src": "236:0:16" + }, + "scope": 10925, + "src": "176:288:16", + "stateMutability": "view", + "virtual": false, + "visibility": "private" + }, + { + "body": { + "id": 2895, + "nodeType": "Block", + "src": "496:57:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672829", + "id": 2891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "540:7:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39", + "typeString": "literal_string \"log()\"" + }, + "value": "log()" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_51973ec9d4c1929bdd5b149c064d46aee47e92a7e2bb5f7a20c7b9cfb0d13b39", + "typeString": "literal_string \"log()\"" + } + ], + "expression": { + "id": 2889, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "516:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "516:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 2892, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "516:32:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2888, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "500:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 2893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "500:49:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2894, + "nodeType": "ExpressionStatement", + "src": "500:49:16" + } + ] + }, + "id": 2896, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "476:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2886, + "nodeType": "ParameterList", + "parameters": [], + "src": "479:2:16" + }, + "returnParameters": { + "id": 2887, + "nodeType": "ParameterList", + "parameters": [], + "src": "496:0:16" + }, + "scope": 10925, + "src": "467:86:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2909, + "nodeType": "Block", + "src": "594:64:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728696e7429", + "id": 2904, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "638:10:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e", + "typeString": "literal_string \"log(int)\"" + }, + "value": "log(int)" + }, + { + "id": 2905, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2898, + "src": "650:2:16", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4e0c1d1dcf573259576e2a7e591d366143f88fb7f7e57df09852da9c36797f2e", + "typeString": "literal_string \"log(int)\"" + }, + { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + ], + "expression": { + "id": 2902, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "614:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2903, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "614:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 2906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "614:39:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2901, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "598:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 2907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "598:56:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2908, + "nodeType": "ExpressionStatement", + "src": "598:56:16" + } + ] + }, + "id": 2910, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logInt", + "nameLocation": "565:6:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2899, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2898, + "mutability": "mutable", + "name": "p0", + "nameLocation": "576:2:16", + "nodeType": "VariableDeclaration", + "scope": 2910, + "src": "572:6:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 2897, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "572:3:16", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + } + ], + "src": "571:8:16" + }, + "returnParameters": { + "id": 2900, + "nodeType": "ParameterList", + "parameters": [], + "src": "594:0:16" + }, + "scope": 10925, + "src": "556:102:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2923, + "nodeType": "Block", + "src": "701:65:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e7429", + "id": 2918, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "745:11:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984", + "typeString": "literal_string \"log(uint)\"" + }, + "value": "log(uint)" + }, + { + "id": 2919, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2912, + "src": "758:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984", + "typeString": "literal_string \"log(uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 2916, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "721:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2917, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "721:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 2920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "721:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2915, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "705:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 2921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "705:57:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2922, + "nodeType": "ExpressionStatement", + "src": "705:57:16" + } + ] + }, + "id": 2924, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logUint", + "nameLocation": "670:7:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2913, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2912, + "mutability": "mutable", + "name": "p0", + "nameLocation": "683:2:16", + "nodeType": "VariableDeclaration", + "scope": 2924, + "src": "678:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2911, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "678:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "677:9:16" + }, + "returnParameters": { + "id": 2914, + "nodeType": "ParameterList", + "parameters": [], + "src": "701:0:16" + }, + "scope": 10925, + "src": "661:105:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2937, + "nodeType": "Block", + "src": "820:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e6729", + "id": 2932, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "864:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "typeString": "literal_string \"log(string)\"" + }, + "value": "log(string)" + }, + { + "id": 2933, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2926, + "src": "879:2:16", + "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": 2930, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "840:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2931, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "840:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 2934, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "840:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2929, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "824:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 2935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "824:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2936, + "nodeType": "ExpressionStatement", + "src": "824:59:16" + } + ] + }, + "id": 2938, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logString", + "nameLocation": "778:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2927, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2926, + "mutability": "mutable", + "name": "p0", + "nameLocation": "802:2:16", + "nodeType": "VariableDeclaration", + "scope": 2938, + "src": "788:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 2925, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "788:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "787:18:16" + }, + "returnParameters": { + "id": 2928, + "nodeType": "ParameterList", + "parameters": [], + "src": "820:0:16" + }, + "scope": 10925, + "src": "769:118:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2951, + "nodeType": "Block", + "src": "930:65:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c29", + "id": 2946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "974:11:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + "value": "log(bool)" + }, + { + "id": 2947, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2940, + "src": "987:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 2944, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "950:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "950:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 2948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "950:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2943, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "934:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 2949, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "934:57:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2950, + "nodeType": "ExpressionStatement", + "src": "934:57:16" + } + ] + }, + "id": 2952, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBool", + "nameLocation": "899:7:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2941, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2940, + "mutability": "mutable", + "name": "p0", + "nameLocation": "912:2:16", + "nodeType": "VariableDeclaration", + "scope": 2952, + "src": "907:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2939, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "907:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "906:9:16" + }, + "returnParameters": { + "id": 2942, + "nodeType": "ParameterList", + "parameters": [], + "src": "930:0:16" + }, + "scope": 10925, + "src": "890:105:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2965, + "nodeType": "Block", + "src": "1044:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286164647265737329", + "id": 2960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1088:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + "value": "log(address)" + }, + { + "id": 2961, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2954, + "src": "1104:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 2958, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1064:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1064:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 2962, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1064:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2957, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "1048:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 2963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1048:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2964, + "nodeType": "ExpressionStatement", + "src": "1048:60:16" + } + ] + }, + "id": 2966, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logAddress", + "nameLocation": "1007:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2955, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2954, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1026:2:16", + "nodeType": "VariableDeclaration", + "scope": 2966, + "src": "1018:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2953, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1018:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1017:12:16" + }, + "returnParameters": { + "id": 2956, + "nodeType": "ParameterList", + "parameters": [], + "src": "1044:0:16" + }, + "scope": 10925, + "src": "998:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2979, + "nodeType": "Block", + "src": "1164:66:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728627974657329", + "id": 2974, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1208:12:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0be77f5642494da7d212b92a3472c4f471abb24e17467f41788e7de7915d6238", + "typeString": "literal_string \"log(bytes)\"" + }, + "value": "log(bytes)" + }, + { + "id": 2975, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2968, + "src": "1222:2:16", + "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": 2972, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1184:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2973, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1184:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 2976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1184:41:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2971, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "1168:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 2977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1168:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2978, + "nodeType": "ExpressionStatement", + "src": "1168:58:16" + } + ] + }, + "id": 2980, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes", + "nameLocation": "1124:8:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2969, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2968, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1146:2:16", + "nodeType": "VariableDeclaration", + "scope": 2980, + "src": "1133:15:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 2967, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1133:5:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "1132:17:16" + }, + "returnParameters": { + "id": 2970, + "nodeType": "ParameterList", + "parameters": [], + "src": "1164:0:16" + }, + "scope": 10925, + "src": "1115:115:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2993, + "nodeType": "Block", + "src": "1277:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733129", + "id": 2988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1321:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041", + "typeString": "literal_string \"log(bytes1)\"" + }, + "value": "log(bytes1)" + }, + { + "id": 2989, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2982, + "src": "1336:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_6e18a1285e3dfba09579e846ff83d5e4ffae1b869c8fc4323752bab794e41041", + "typeString": "literal_string \"log(bytes1)\"" + }, + { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + ], + "expression": { + "id": 2986, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1297:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 2987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1297:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 2990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1297:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2985, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "1281:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 2991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1281:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2992, + "nodeType": "ExpressionStatement", + "src": "1281:59:16" + } + ] + }, + "id": 2994, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes1", + "nameLocation": "1242:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2982, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1259:2:16", + "nodeType": "VariableDeclaration", + "scope": 2994, + "src": "1252:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + }, + "typeName": { + "id": 2981, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "1252:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "visibility": "internal" + } + ], + "src": "1251:11:16" + }, + "returnParameters": { + "id": 2984, + "nodeType": "ParameterList", + "parameters": [], + "src": "1277:0:16" + }, + "scope": 10925, + "src": "1233:111:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3007, + "nodeType": "Block", + "src": "1391:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733229", + "id": 3002, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1435:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224", + "typeString": "literal_string \"log(bytes2)\"" + }, + "value": "log(bytes2)" + }, + { + "id": 3003, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2996, + "src": "1450:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e9b622960ff3a0e86d35e876bfeba445fab6c5686604aa116c47c1e106921224", + "typeString": "literal_string \"log(bytes2)\"" + }, + { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + } + ], + "expression": { + "id": 3000, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1411:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3001, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1411:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3004, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1411:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 2999, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "1395:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1395:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3006, + "nodeType": "ExpressionStatement", + "src": "1395:59:16" + } + ] + }, + "id": 3008, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes2", + "nameLocation": "1356:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2997, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2996, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1373:2:16", + "nodeType": "VariableDeclaration", + "scope": 3008, + "src": "1366:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + }, + "typeName": { + "id": 2995, + "name": "bytes2", + "nodeType": "ElementaryTypeName", + "src": "1366:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes2", + "typeString": "bytes2" + } + }, + "visibility": "internal" + } + ], + "src": "1365:11:16" + }, + "returnParameters": { + "id": 2998, + "nodeType": "ParameterList", + "parameters": [], + "src": "1391:0:16" + }, + "scope": 10925, + "src": "1347:111:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3021, + "nodeType": "Block", + "src": "1505:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733329", + "id": 3016, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1549:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee", + "typeString": "literal_string \"log(bytes3)\"" + }, + "value": "log(bytes3)" + }, + { + "id": 3017, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3010, + "src": "1564:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2d8349266851a1d92746f90a9696920643311d6bf462d9fa11e69718a636cbee", + "typeString": "literal_string \"log(bytes3)\"" + }, + { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + } + ], + "expression": { + "id": 3014, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1525:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1525:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3018, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1525:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3013, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "1509:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3019, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1509:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3020, + "nodeType": "ExpressionStatement", + "src": "1509:59:16" + } + ] + }, + "id": 3022, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes3", + "nameLocation": "1470:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3011, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3010, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1487:2:16", + "nodeType": "VariableDeclaration", + "scope": 3022, + "src": "1480:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + }, + "typeName": { + "id": 3009, + "name": "bytes3", + "nodeType": "ElementaryTypeName", + "src": "1480:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes3", + "typeString": "bytes3" + } + }, + "visibility": "internal" + } + ], + "src": "1479:11:16" + }, + "returnParameters": { + "id": 3012, + "nodeType": "ParameterList", + "parameters": [], + "src": "1505:0:16" + }, + "scope": 10925, + "src": "1461:111:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3035, + "nodeType": "Block", + "src": "1619:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733429", + "id": 3030, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1663:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55", + "typeString": "literal_string \"log(bytes4)\"" + }, + "value": "log(bytes4)" + }, + { + "id": 3031, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3024, + "src": "1678:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e05f48d17f80c0f06e82dc14f4be9f0f654dde2e722a8d8796ad7e07f5308d55", + "typeString": "literal_string \"log(bytes4)\"" + }, + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 3028, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1639:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3029, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1639:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1639:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3027, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "1623:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1623:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3034, + "nodeType": "ExpressionStatement", + "src": "1623:59:16" + } + ] + }, + "id": 3036, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes4", + "nameLocation": "1584:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3025, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3024, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1601:2:16", + "nodeType": "VariableDeclaration", + "scope": 3036, + "src": "1594:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 3023, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1594:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "1593:11:16" + }, + "returnParameters": { + "id": 3026, + "nodeType": "ParameterList", + "parameters": [], + "src": "1619:0:16" + }, + "scope": 10925, + "src": "1575:111:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3049, + "nodeType": "Block", + "src": "1733:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733529", + "id": 3044, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1777:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a", + "typeString": "literal_string \"log(bytes5)\"" + }, + "value": "log(bytes5)" + }, + { + "id": 3045, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3038, + "src": "1792:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_a684808d222f8a67c08dd13085391d5e9d1825d9fb6e2da44a91b1a07d07401a", + "typeString": "literal_string \"log(bytes5)\"" + }, + { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + } + ], + "expression": { + "id": 3042, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1753:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3043, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1753:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1753:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3041, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "1737:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1737:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3048, + "nodeType": "ExpressionStatement", + "src": "1737:59:16" + } + ] + }, + "id": 3050, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes5", + "nameLocation": "1698:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3039, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3038, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1715:2:16", + "nodeType": "VariableDeclaration", + "scope": 3050, + "src": "1708:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + }, + "typeName": { + "id": 3037, + "name": "bytes5", + "nodeType": "ElementaryTypeName", + "src": "1708:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes5", + "typeString": "bytes5" + } + }, + "visibility": "internal" + } + ], + "src": "1707:11:16" + }, + "returnParameters": { + "id": 3040, + "nodeType": "ParameterList", + "parameters": [], + "src": "1733:0:16" + }, + "scope": 10925, + "src": "1689:111:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3063, + "nodeType": "Block", + "src": "1847:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733629", + "id": 3058, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1891:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330", + "typeString": "literal_string \"log(bytes6)\"" + }, + "value": "log(bytes6)" + }, + { + "id": 3059, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3052, + "src": "1906:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ae84a5910824668818be6031303edf0f6f3694b35d5e6f9683950d57ef12d330", + "typeString": "literal_string \"log(bytes6)\"" + }, + { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + } + ], + "expression": { + "id": 3056, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1867:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3057, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1867:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3060, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1867:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3055, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "1851:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3061, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1851:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3062, + "nodeType": "ExpressionStatement", + "src": "1851:59:16" + } + ] + }, + "id": 3064, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes6", + "nameLocation": "1812:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3053, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3052, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1829:2:16", + "nodeType": "VariableDeclaration", + "scope": 3064, + "src": "1822:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + }, + "typeName": { + "id": 3051, + "name": "bytes6", + "nodeType": "ElementaryTypeName", + "src": "1822:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes6", + "typeString": "bytes6" + } + }, + "visibility": "internal" + } + ], + "src": "1821:11:16" + }, + "returnParameters": { + "id": 3054, + "nodeType": "ParameterList", + "parameters": [], + "src": "1847:0:16" + }, + "scope": 10925, + "src": "1803:111:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3077, + "nodeType": "Block", + "src": "1961:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733729", + "id": 3072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2005:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29", + "typeString": "literal_string \"log(bytes7)\"" + }, + "value": "log(bytes7)" + }, + { + "id": 3073, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3066, + "src": "2020:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4ed57e28813457436949e4ec0a834b3c8262cd6cebd21953ee0da3400ce2de29", + "typeString": "literal_string \"log(bytes7)\"" + }, + { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + } + ], + "expression": { + "id": 3070, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "1981:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3071, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "1981:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3074, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1981:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3069, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "1965:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3075, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1965:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3076, + "nodeType": "ExpressionStatement", + "src": "1965:59:16" + } + ] + }, + "id": 3078, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes7", + "nameLocation": "1926:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3067, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3066, + "mutability": "mutable", + "name": "p0", + "nameLocation": "1943:2:16", + "nodeType": "VariableDeclaration", + "scope": 3078, + "src": "1936:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + }, + "typeName": { + "id": 3065, + "name": "bytes7", + "nodeType": "ElementaryTypeName", + "src": "1936:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes7", + "typeString": "bytes7" + } + }, + "visibility": "internal" + } + ], + "src": "1935:11:16" + }, + "returnParameters": { + "id": 3068, + "nodeType": "ParameterList", + "parameters": [], + "src": "1961:0:16" + }, + "scope": 10925, + "src": "1917:111:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3091, + "nodeType": "Block", + "src": "2075:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733829", + "id": 3086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2119:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3", + "typeString": "literal_string \"log(bytes8)\"" + }, + "value": "log(bytes8)" + }, + { + "id": 3087, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3080, + "src": "2134:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4f84252e5b28e1a0064346c7cd13650e2dd6020728ca468281bb2a28b42654b3", + "typeString": "literal_string \"log(bytes8)\"" + }, + { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + } + ], + "expression": { + "id": 3084, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2095:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2095:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3088, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2095:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3083, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "2079:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3089, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2079:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3090, + "nodeType": "ExpressionStatement", + "src": "2079:59:16" + } + ] + }, + "id": 3092, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes8", + "nameLocation": "2040:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3080, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2057:2:16", + "nodeType": "VariableDeclaration", + "scope": 3092, + "src": "2050:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + }, + "typeName": { + "id": 3079, + "name": "bytes8", + "nodeType": "ElementaryTypeName", + "src": "2050:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes8", + "typeString": "bytes8" + } + }, + "visibility": "internal" + } + ], + "src": "2049:11:16" + }, + "returnParameters": { + "id": 3082, + "nodeType": "ParameterList", + "parameters": [], + "src": "2075:0:16" + }, + "scope": 10925, + "src": "2031:111:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3105, + "nodeType": "Block", + "src": "2189:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672862797465733929", + "id": 3100, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2233:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667", + "typeString": "literal_string \"log(bytes9)\"" + }, + "value": "log(bytes9)" + }, + { + "id": 3101, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3094, + "src": "2248:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_90bd8cd0463fe91d31e59db57ee4cf8d778374c422b4b50e841266d9c2cc6667", + "typeString": "literal_string \"log(bytes9)\"" + }, + { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + } + ], + "expression": { + "id": 3098, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2209:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3099, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2209:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2209:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3097, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "2193:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2193:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3104, + "nodeType": "ExpressionStatement", + "src": "2193:59:16" + } + ] + }, + "id": 3106, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes9", + "nameLocation": "2154:9:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3095, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3094, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2171:2:16", + "nodeType": "VariableDeclaration", + "scope": 3106, + "src": "2164:9:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + }, + "typeName": { + "id": 3093, + "name": "bytes9", + "nodeType": "ElementaryTypeName", + "src": "2164:6:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes9", + "typeString": "bytes9" + } + }, + "visibility": "internal" + } + ], + "src": "2163:11:16" + }, + "returnParameters": { + "id": 3096, + "nodeType": "ParameterList", + "parameters": [], + "src": "2189:0:16" + }, + "scope": 10925, + "src": "2145:111:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3119, + "nodeType": "Block", + "src": "2305:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313029", + "id": 3114, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2349:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66", + "typeString": "literal_string \"log(bytes10)\"" + }, + "value": "log(bytes10)" + }, + { + "id": 3115, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3108, + "src": "2365:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_013d178bb749cf32d0f7243763667360eb91576261efe5ed9be72b4a2800fd66", + "typeString": "literal_string \"log(bytes10)\"" + }, + { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + } + ], + "expression": { + "id": 3112, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2325:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3113, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2325:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2325:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3111, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "2309:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2309:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3118, + "nodeType": "ExpressionStatement", + "src": "2309:60:16" + } + ] + }, + "id": 3120, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes10", + "nameLocation": "2268:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3109, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3108, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2287:2:16", + "nodeType": "VariableDeclaration", + "scope": 3120, + "src": "2279:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + }, + "typeName": { + "id": 3107, + "name": "bytes10", + "nodeType": "ElementaryTypeName", + "src": "2279:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes10", + "typeString": "bytes10" + } + }, + "visibility": "internal" + } + ], + "src": "2278:12:16" + }, + "returnParameters": { + "id": 3110, + "nodeType": "ParameterList", + "parameters": [], + "src": "2305:0:16" + }, + "scope": 10925, + "src": "2259:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3133, + "nodeType": "Block", + "src": "2422:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313129", + "id": 3128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2466:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9", + "typeString": "literal_string \"log(bytes11)\"" + }, + "value": "log(bytes11)" + }, + { + "id": 3129, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3122, + "src": "2482:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_04004a2e5bef8ca2e7ffd661b519aec3d9c1b8d0aa1e11656aab73b2726922d9", + "typeString": "literal_string \"log(bytes11)\"" + }, + { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + } + ], + "expression": { + "id": 3126, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2442:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2442:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3130, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2442:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3125, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "2426:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3131, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2426:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3132, + "nodeType": "ExpressionStatement", + "src": "2426:60:16" + } + ] + }, + "id": 3134, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes11", + "nameLocation": "2385:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3123, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3122, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2404:2:16", + "nodeType": "VariableDeclaration", + "scope": 3134, + "src": "2396:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + }, + "typeName": { + "id": 3121, + "name": "bytes11", + "nodeType": "ElementaryTypeName", + "src": "2396:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes11", + "typeString": "bytes11" + } + }, + "visibility": "internal" + } + ], + "src": "2395:12:16" + }, + "returnParameters": { + "id": 3124, + "nodeType": "ParameterList", + "parameters": [], + "src": "2422:0:16" + }, + "scope": 10925, + "src": "2376:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3147, + "nodeType": "Block", + "src": "2539:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313229", + "id": 3142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2583:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2", + "typeString": "literal_string \"log(bytes12)\"" + }, + "value": "log(bytes12)" + }, + { + "id": 3143, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3136, + "src": "2599:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_86a06abd704b9e5bab2216d456863046355f2def5304d8276c140d0d454fddf2", + "typeString": "literal_string \"log(bytes12)\"" + }, + { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + } + ], + "expression": { + "id": 3140, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2559:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2559:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3144, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2559:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3139, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "2543:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3145, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2543:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3146, + "nodeType": "ExpressionStatement", + "src": "2543:60:16" + } + ] + }, + "id": 3148, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes12", + "nameLocation": "2502:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3136, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2521:2:16", + "nodeType": "VariableDeclaration", + "scope": 3148, + "src": "2513:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + }, + "typeName": { + "id": 3135, + "name": "bytes12", + "nodeType": "ElementaryTypeName", + "src": "2513:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes12", + "typeString": "bytes12" + } + }, + "visibility": "internal" + } + ], + "src": "2512:12:16" + }, + "returnParameters": { + "id": 3138, + "nodeType": "ParameterList", + "parameters": [], + "src": "2539:0:16" + }, + "scope": 10925, + "src": "2493:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3161, + "nodeType": "Block", + "src": "2656:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313329", + "id": 3156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2700:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec", + "typeString": "literal_string \"log(bytes13)\"" + }, + "value": "log(bytes13)" + }, + { + "id": 3157, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3150, + "src": "2716:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_94529e34a43ac6de2c3a0df402eee6114eb0f2ad065baefde0230cd3cf90e2ec", + "typeString": "literal_string \"log(bytes13)\"" + }, + { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + } + ], + "expression": { + "id": 3154, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2676:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2676:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3158, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2676:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3153, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "2660:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2660:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3160, + "nodeType": "ExpressionStatement", + "src": "2660:60:16" + } + ] + }, + "id": 3162, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes13", + "nameLocation": "2619:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3150, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2638:2:16", + "nodeType": "VariableDeclaration", + "scope": 3162, + "src": "2630:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + }, + "typeName": { + "id": 3149, + "name": "bytes13", + "nodeType": "ElementaryTypeName", + "src": "2630:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes13", + "typeString": "bytes13" + } + }, + "visibility": "internal" + } + ], + "src": "2629:12:16" + }, + "returnParameters": { + "id": 3152, + "nodeType": "ParameterList", + "parameters": [], + "src": "2656:0:16" + }, + "scope": 10925, + "src": "2610:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3175, + "nodeType": "Block", + "src": "2773:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313429", + "id": 3170, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2817:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278", + "typeString": "literal_string \"log(bytes14)\"" + }, + "value": "log(bytes14)" + }, + { + "id": 3171, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3164, + "src": "2833:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_9266f07faf32c88bbdb01ce418243acbc1c63e15d6e3afa16078186ba711f278", + "typeString": "literal_string \"log(bytes14)\"" + }, + { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + } + ], + "expression": { + "id": 3168, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2793:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3169, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2793:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2793:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3167, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "2777:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2777:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3174, + "nodeType": "ExpressionStatement", + "src": "2777:60:16" + } + ] + }, + "id": 3176, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes14", + "nameLocation": "2736:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3164, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2755:2:16", + "nodeType": "VariableDeclaration", + "scope": 3176, + "src": "2747:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + }, + "typeName": { + "id": 3163, + "name": "bytes14", + "nodeType": "ElementaryTypeName", + "src": "2747:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes14", + "typeString": "bytes14" + } + }, + "visibility": "internal" + } + ], + "src": "2746:12:16" + }, + "returnParameters": { + "id": 3166, + "nodeType": "ParameterList", + "parameters": [], + "src": "2773:0:16" + }, + "scope": 10925, + "src": "2727:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3189, + "nodeType": "Block", + "src": "2890:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313529", + "id": 3184, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2934:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606", + "typeString": "literal_string \"log(bytes15)\"" + }, + "value": "log(bytes15)" + }, + { + "id": 3185, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3178, + "src": "2950:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_da9574e0bf3f23e09c3d85c9f5226065bb36281f2a5d78c7e38f6ffd58919606", + "typeString": "literal_string \"log(bytes15)\"" + }, + { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + } + ], + "expression": { + "id": 3182, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "2910:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "2910:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2910:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3181, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "2894:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2894:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3188, + "nodeType": "ExpressionStatement", + "src": "2894:60:16" + } + ] + }, + "id": 3190, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes15", + "nameLocation": "2853:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3179, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3178, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2872:2:16", + "nodeType": "VariableDeclaration", + "scope": 3190, + "src": "2864:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + }, + "typeName": { + "id": 3177, + "name": "bytes15", + "nodeType": "ElementaryTypeName", + "src": "2864:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes15", + "typeString": "bytes15" + } + }, + "visibility": "internal" + } + ], + "src": "2863:12:16" + }, + "returnParameters": { + "id": 3180, + "nodeType": "ParameterList", + "parameters": [], + "src": "2890:0:16" + }, + "scope": 10925, + "src": "2844:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3203, + "nodeType": "Block", + "src": "3007:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313629", + "id": 3198, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3051:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3", + "typeString": "literal_string \"log(bytes16)\"" + }, + "value": "log(bytes16)" + }, + { + "id": 3199, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3192, + "src": "3067:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_665c61046af0adc4969f9d2f111b654775bd58f112b63e5ce7dfff29c000e9f3", + "typeString": "literal_string \"log(bytes16)\"" + }, + { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + ], + "expression": { + "id": 3196, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3027:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3197, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3027:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3200, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3027:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3195, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "3011:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3201, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3011:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3202, + "nodeType": "ExpressionStatement", + "src": "3011:60:16" + } + ] + }, + "id": 3204, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes16", + "nameLocation": "2970:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3193, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3192, + "mutability": "mutable", + "name": "p0", + "nameLocation": "2989:2:16", + "nodeType": "VariableDeclaration", + "scope": 3204, + "src": "2981:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 3191, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "2981:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "visibility": "internal" + } + ], + "src": "2980:12:16" + }, + "returnParameters": { + "id": 3194, + "nodeType": "ParameterList", + "parameters": [], + "src": "3007:0:16" + }, + "scope": 10925, + "src": "2961:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3217, + "nodeType": "Block", + "src": "3124:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313729", + "id": 3212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3168:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3", + "typeString": "literal_string \"log(bytes17)\"" + }, + "value": "log(bytes17)" + }, + { + "id": 3213, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3206, + "src": "3184:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_339f673a0c008974259a0022c9b150cc5d1af8c58584412fe373d84bd08d4ea3", + "typeString": "literal_string \"log(bytes17)\"" + }, + { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + } + ], + "expression": { + "id": 3210, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3144:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3144:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3214, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3144:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3209, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "3128:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3215, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3128:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3216, + "nodeType": "ExpressionStatement", + "src": "3128:60:16" + } + ] + }, + "id": 3218, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes17", + "nameLocation": "3087:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3206, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3106:2:16", + "nodeType": "VariableDeclaration", + "scope": 3218, + "src": "3098:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + }, + "typeName": { + "id": 3205, + "name": "bytes17", + "nodeType": "ElementaryTypeName", + "src": "3098:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes17", + "typeString": "bytes17" + } + }, + "visibility": "internal" + } + ], + "src": "3097:12:16" + }, + "returnParameters": { + "id": 3208, + "nodeType": "ParameterList", + "parameters": [], + "src": "3124:0:16" + }, + "scope": 10925, + "src": "3078:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3231, + "nodeType": "Block", + "src": "3241:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313829", + "id": 3226, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3285:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116", + "typeString": "literal_string \"log(bytes18)\"" + }, + "value": "log(bytes18)" + }, + { + "id": 3227, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3220, + "src": "3301:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c4d23d9af6458d5ddc7cb8128a2f36bf147c9db4fe277dfe0fe7be41def62116", + "typeString": "literal_string \"log(bytes18)\"" + }, + { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + } + ], + "expression": { + "id": 3224, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3261:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3261:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3261:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3223, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "3245:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3245:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3230, + "nodeType": "ExpressionStatement", + "src": "3245:60:16" + } + ] + }, + "id": 3232, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes18", + "nameLocation": "3204:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3221, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3220, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3223:2:16", + "nodeType": "VariableDeclaration", + "scope": 3232, + "src": "3215:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + }, + "typeName": { + "id": 3219, + "name": "bytes18", + "nodeType": "ElementaryTypeName", + "src": "3215:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes18", + "typeString": "bytes18" + } + }, + "visibility": "internal" + } + ], + "src": "3214:12:16" + }, + "returnParameters": { + "id": 3222, + "nodeType": "ParameterList", + "parameters": [], + "src": "3241:0:16" + }, + "scope": 10925, + "src": "3195:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3245, + "nodeType": "Block", + "src": "3358:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573313929", + "id": 3240, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3402:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada", + "typeString": "literal_string \"log(bytes19)\"" + }, + "value": "log(bytes19)" + }, + { + "id": 3241, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3234, + "src": "3418:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5e6b5a33524ca650028e2fad735b4ab50285bba37658119d2da303bee98aeada", + "typeString": "literal_string \"log(bytes19)\"" + }, + { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + } + ], + "expression": { + "id": 3238, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3378:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3239, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3378:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3378:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3237, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "3362:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3243, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3362:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3244, + "nodeType": "ExpressionStatement", + "src": "3362:60:16" + } + ] + }, + "id": 3246, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes19", + "nameLocation": "3321:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3235, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3234, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3340:2:16", + "nodeType": "VariableDeclaration", + "scope": 3246, + "src": "3332:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + }, + "typeName": { + "id": 3233, + "name": "bytes19", + "nodeType": "ElementaryTypeName", + "src": "3332:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes19", + "typeString": "bytes19" + } + }, + "visibility": "internal" + } + ], + "src": "3331:12:16" + }, + "returnParameters": { + "id": 3236, + "nodeType": "ParameterList", + "parameters": [], + "src": "3358:0:16" + }, + "scope": 10925, + "src": "3312:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3259, + "nodeType": "Block", + "src": "3475:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323029", + "id": 3254, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3519:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231", + "typeString": "literal_string \"log(bytes20)\"" + }, + "value": "log(bytes20)" + }, + { + "id": 3255, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3248, + "src": "3535:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_5188e3e9b3f117a223e2e428d0e13d089f3a53913e479000b94b85266ecf8231", + "typeString": "literal_string \"log(bytes20)\"" + }, + { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + ], + "expression": { + "id": 3252, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3495:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3253, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3495:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3495:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3251, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "3479:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3479:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3258, + "nodeType": "ExpressionStatement", + "src": "3479:60:16" + } + ] + }, + "id": 3260, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes20", + "nameLocation": "3438:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3249, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3248, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3457:2:16", + "nodeType": "VariableDeclaration", + "scope": 3260, + "src": "3449:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + }, + "typeName": { + "id": 3247, + "name": "bytes20", + "nodeType": "ElementaryTypeName", + "src": "3449:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes20", + "typeString": "bytes20" + } + }, + "visibility": "internal" + } + ], + "src": "3448:12:16" + }, + "returnParameters": { + "id": 3250, + "nodeType": "ParameterList", + "parameters": [], + "src": "3475:0:16" + }, + "scope": 10925, + "src": "3429:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3273, + "nodeType": "Block", + "src": "3592:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323129", + "id": 3268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3636:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7", + "typeString": "literal_string \"log(bytes21)\"" + }, + "value": "log(bytes21)" + }, + { + "id": 3269, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3262, + "src": "3652:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_e9da35608192a6b38ad5ef62cf738886973b011b8cdb7e81cdd51b4c3dfe8ad7", + "typeString": "literal_string \"log(bytes21)\"" + }, + { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + } + ], + "expression": { + "id": 3266, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3612:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3612:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3612:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3265, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "3596:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3596:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3272, + "nodeType": "ExpressionStatement", + "src": "3596:60:16" + } + ] + }, + "id": 3274, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes21", + "nameLocation": "3555:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3262, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3574:2:16", + "nodeType": "VariableDeclaration", + "scope": 3274, + "src": "3566:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + }, + "typeName": { + "id": 3261, + "name": "bytes21", + "nodeType": "ElementaryTypeName", + "src": "3566:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes21", + "typeString": "bytes21" + } + }, + "visibility": "internal" + } + ], + "src": "3565:12:16" + }, + "returnParameters": { + "id": 3264, + "nodeType": "ParameterList", + "parameters": [], + "src": "3592:0:16" + }, + "scope": 10925, + "src": "3546:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3287, + "nodeType": "Block", + "src": "3709:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323229", + "id": 3282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3753:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575", + "typeString": "literal_string \"log(bytes22)\"" + }, + "value": "log(bytes22)" + }, + { + "id": 3283, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3276, + "src": "3769:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_d5fae89c25bed6f12b105f52db0a0ff6f5c8313613e12eccd3059bb7f7ea6575", + "typeString": "literal_string \"log(bytes22)\"" + }, + { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + } + ], + "expression": { + "id": 3280, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3729:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3729:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3284, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3729:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3279, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "3713:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3713:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3286, + "nodeType": "ExpressionStatement", + "src": "3713:60:16" + } + ] + }, + "id": 3288, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes22", + "nameLocation": "3672:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3276, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3691:2:16", + "nodeType": "VariableDeclaration", + "scope": 3288, + "src": "3683:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + }, + "typeName": { + "id": 3275, + "name": "bytes22", + "nodeType": "ElementaryTypeName", + "src": "3683:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes22", + "typeString": "bytes22" + } + }, + "visibility": "internal" + } + ], + "src": "3682:12:16" + }, + "returnParameters": { + "id": 3278, + "nodeType": "ParameterList", + "parameters": [], + "src": "3709:0:16" + }, + "scope": 10925, + "src": "3663:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3301, + "nodeType": "Block", + "src": "3826:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323329", + "id": 3296, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3870:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061", + "typeString": "literal_string \"log(bytes23)\"" + }, + "value": "log(bytes23)" + }, + { + "id": 3297, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3290, + "src": "3886:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_aba1cf0dcd316c862bc06d4cf532375fed11c1e0897ba81a04ee0b22d3f14061", + "typeString": "literal_string \"log(bytes23)\"" + }, + { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + } + ], + "expression": { + "id": 3294, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3846:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3295, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3846:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3846:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3293, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "3830:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3830:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3300, + "nodeType": "ExpressionStatement", + "src": "3830:60:16" + } + ] + }, + "id": 3302, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes23", + "nameLocation": "3789:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3291, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3290, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3808:2:16", + "nodeType": "VariableDeclaration", + "scope": 3302, + "src": "3800:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + }, + "typeName": { + "id": 3289, + "name": "bytes23", + "nodeType": "ElementaryTypeName", + "src": "3800:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes23", + "typeString": "bytes23" + } + }, + "visibility": "internal" + } + ], + "src": "3799:12:16" + }, + "returnParameters": { + "id": 3292, + "nodeType": "ParameterList", + "parameters": [], + "src": "3826:0:16" + }, + "scope": 10925, + "src": "3780:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3315, + "nodeType": "Block", + "src": "3943:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323429", + "id": 3310, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3987:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4", + "typeString": "literal_string \"log(bytes24)\"" + }, + "value": "log(bytes24)" + }, + { + "id": 3311, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3304, + "src": "4003:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f1b35b3488a5452bceb48624d6ba2a791e58f0e9c0f4b86b8f51186ec7a7edf4", + "typeString": "literal_string \"log(bytes24)\"" + }, + { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + } + ], + "expression": { + "id": 3308, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3963:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3309, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "3963:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3963:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3307, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "3947:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3947:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3314, + "nodeType": "ExpressionStatement", + "src": "3947:60:16" + } + ] + }, + "id": 3316, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes24", + "nameLocation": "3906:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3305, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3304, + "mutability": "mutable", + "name": "p0", + "nameLocation": "3925:2:16", + "nodeType": "VariableDeclaration", + "scope": 3316, + "src": "3917:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + }, + "typeName": { + "id": 3303, + "name": "bytes24", + "nodeType": "ElementaryTypeName", + "src": "3917:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes24", + "typeString": "bytes24" + } + }, + "visibility": "internal" + } + ], + "src": "3916:12:16" + }, + "returnParameters": { + "id": 3306, + "nodeType": "ParameterList", + "parameters": [], + "src": "3943:0:16" + }, + "scope": 10925, + "src": "3897:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3329, + "nodeType": "Block", + "src": "4060:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323529", + "id": 3324, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4104:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25", + "typeString": "literal_string \"log(bytes25)\"" + }, + "value": "log(bytes25)" + }, + { + "id": 3325, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3318, + "src": "4120:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_0b84bc580db9be1295ee23dff6122da1f70381c83abf9a74953cca11238eda25", + "typeString": "literal_string \"log(bytes25)\"" + }, + { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + ], + "expression": { + "id": 3322, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4080:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3323, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4080:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3326, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4080:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3321, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "4064:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3327, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4064:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3328, + "nodeType": "ExpressionStatement", + "src": "4064:60:16" + } + ] + }, + "id": 3330, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes25", + "nameLocation": "4023:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3318, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4042:2:16", + "nodeType": "VariableDeclaration", + "scope": 3330, + "src": "4034:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + }, + "typeName": { + "id": 3317, + "name": "bytes25", + "nodeType": "ElementaryTypeName", + "src": "4034:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes25", + "typeString": "bytes25" + } + }, + "visibility": "internal" + } + ], + "src": "4033:12:16" + }, + "returnParameters": { + "id": 3320, + "nodeType": "ParameterList", + "parameters": [], + "src": "4060:0:16" + }, + "scope": 10925, + "src": "4014:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3343, + "nodeType": "Block", + "src": "4177:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323629", + "id": 3338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4221:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b", + "typeString": "literal_string \"log(bytes26)\"" + }, + "value": "log(bytes26)" + }, + { + "id": 3339, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3332, + "src": "4237:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f8b149f18dc341f1a56e26c6c24a5233eec3bbb2ab017e9e86e663aae743965b", + "typeString": "literal_string \"log(bytes26)\"" + }, + { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + } + ], + "expression": { + "id": 3336, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4197:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3337, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4197:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3340, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4197:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3335, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "4181:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3341, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4181:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3342, + "nodeType": "ExpressionStatement", + "src": "4181:60:16" + } + ] + }, + "id": 3344, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes26", + "nameLocation": "4140:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3332, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4159:2:16", + "nodeType": "VariableDeclaration", + "scope": 3344, + "src": "4151:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + }, + "typeName": { + "id": 3331, + "name": "bytes26", + "nodeType": "ElementaryTypeName", + "src": "4151:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes26", + "typeString": "bytes26" + } + }, + "visibility": "internal" + } + ], + "src": "4150:12:16" + }, + "returnParameters": { + "id": 3334, + "nodeType": "ParameterList", + "parameters": [], + "src": "4177:0:16" + }, + "scope": 10925, + "src": "4131:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3357, + "nodeType": "Block", + "src": "4294:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323729", + "id": 3352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4338:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6", + "typeString": "literal_string \"log(bytes27)\"" + }, + "value": "log(bytes27)" + }, + { + "id": 3353, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3346, + "src": "4354:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_3a3757dda92e8e238aa23ff7f6f62e31074f6acccca8986ec1286b5a835236b6", + "typeString": "literal_string \"log(bytes27)\"" + }, + { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + } + ], + "expression": { + "id": 3350, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4314:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4314:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4314:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3349, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "4298:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4298:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3356, + "nodeType": "ExpressionStatement", + "src": "4298:60:16" + } + ] + }, + "id": 3358, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes27", + "nameLocation": "4257:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3346, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4276:2:16", + "nodeType": "VariableDeclaration", + "scope": 3358, + "src": "4268:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + }, + "typeName": { + "id": 3345, + "name": "bytes27", + "nodeType": "ElementaryTypeName", + "src": "4268:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes27", + "typeString": "bytes27" + } + }, + "visibility": "internal" + } + ], + "src": "4267:12:16" + }, + "returnParameters": { + "id": 3348, + "nodeType": "ParameterList", + "parameters": [], + "src": "4294:0:16" + }, + "scope": 10925, + "src": "4248:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3371, + "nodeType": "Block", + "src": "4411:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323829", + "id": 3366, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4455:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042", + "typeString": "literal_string \"log(bytes28)\"" + }, + "value": "log(bytes28)" + }, + { + "id": 3367, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3360, + "src": "4471:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c82aeaee74a6ddec4ccd5cfe60e816752c02c70838f0908bd4a6e82866b3a042", + "typeString": "literal_string \"log(bytes28)\"" + }, + { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + ], + "expression": { + "id": 3364, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4431:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3365, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4431:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4431:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3363, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "4415:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4415:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3370, + "nodeType": "ExpressionStatement", + "src": "4415:60:16" + } + ] + }, + "id": 3372, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes28", + "nameLocation": "4374:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3361, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3360, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4393:2:16", + "nodeType": "VariableDeclaration", + "scope": 3372, + "src": "4385:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + }, + "typeName": { + "id": 3359, + "name": "bytes28", + "nodeType": "ElementaryTypeName", + "src": "4385:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes28", + "typeString": "bytes28" + } + }, + "visibility": "internal" + } + ], + "src": "4384:12:16" + }, + "returnParameters": { + "id": 3362, + "nodeType": "ParameterList", + "parameters": [], + "src": "4411:0:16" + }, + "scope": 10925, + "src": "4365:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3385, + "nodeType": "Block", + "src": "4528:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573323929", + "id": 3380, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4572:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667", + "typeString": "literal_string \"log(bytes29)\"" + }, + "value": "log(bytes29)" + }, + { + "id": 3381, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3374, + "src": "4588:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_4b69c3d5f782ef1bdb62d5bb42d4987f16799030ba447bb153d465bd3a3a5667", + "typeString": "literal_string \"log(bytes29)\"" + }, + { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + } + ], + "expression": { + "id": 3378, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4548:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3379, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4548:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3382, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4548:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3377, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "4532:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3383, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4532:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3384, + "nodeType": "ExpressionStatement", + "src": "4532:60:16" + } + ] + }, + "id": 3386, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes29", + "nameLocation": "4491:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3375, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3374, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4510:2:16", + "nodeType": "VariableDeclaration", + "scope": 3386, + "src": "4502:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + }, + "typeName": { + "id": 3373, + "name": "bytes29", + "nodeType": "ElementaryTypeName", + "src": "4502:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes29", + "typeString": "bytes29" + } + }, + "visibility": "internal" + } + ], + "src": "4501:12:16" + }, + "returnParameters": { + "id": 3376, + "nodeType": "ParameterList", + "parameters": [], + "src": "4528:0:16" + }, + "scope": 10925, + "src": "4482:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3399, + "nodeType": "Block", + "src": "4645:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573333029", + "id": 3394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4689:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad", + "typeString": "literal_string \"log(bytes30)\"" + }, + "value": "log(bytes30)" + }, + { + "id": 3395, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3388, + "src": "4705:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_ee12c4edbd73d98174a6bf3454562c4874f59cb381176b662ca65f625f97d6ad", + "typeString": "literal_string \"log(bytes30)\"" + }, + { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + } + ], + "expression": { + "id": 3392, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4665:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3393, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4665:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3396, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4665:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3391, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "4649:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4649:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3398, + "nodeType": "ExpressionStatement", + "src": "4649:60:16" + } + ] + }, + "id": 3400, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes30", + "nameLocation": "4608:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3389, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3388, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4627:2:16", + "nodeType": "VariableDeclaration", + "scope": 3400, + "src": "4619:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + }, + "typeName": { + "id": 3387, + "name": "bytes30", + "nodeType": "ElementaryTypeName", + "src": "4619:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes30", + "typeString": "bytes30" + } + }, + "visibility": "internal" + } + ], + "src": "4618:12:16" + }, + "returnParameters": { + "id": 3390, + "nodeType": "ParameterList", + "parameters": [], + "src": "4645:0:16" + }, + "scope": 10925, + "src": "4599:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3413, + "nodeType": "Block", + "src": "4762:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573333129", + "id": 3408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4806:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce", + "typeString": "literal_string \"log(bytes31)\"" + }, + "value": "log(bytes31)" + }, + { + "id": 3409, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3402, + "src": "4822:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_c2854d92a0707e582e2710f9c9d3f148fdcf7e7da3b4270c2cfa3e223a2c50ce", + "typeString": "literal_string \"log(bytes31)\"" + }, + { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + } + ], + "expression": { + "id": 3406, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4782:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4782:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3410, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4782:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3405, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "4766:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3411, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4766:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3412, + "nodeType": "ExpressionStatement", + "src": "4766:60:16" + } + ] + }, + "id": 3414, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes31", + "nameLocation": "4725:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3402, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4744:2:16", + "nodeType": "VariableDeclaration", + "scope": 3414, + "src": "4736:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + }, + "typeName": { + "id": 3401, + "name": "bytes31", + "nodeType": "ElementaryTypeName", + "src": "4736:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes31", + "typeString": "bytes31" + } + }, + "visibility": "internal" + } + ], + "src": "4735:12:16" + }, + "returnParameters": { + "id": 3404, + "nodeType": "ParameterList", + "parameters": [], + "src": "4762:0:16" + }, + "scope": 10925, + "src": "4716:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3427, + "nodeType": "Block", + "src": "4879:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286279746573333229", + "id": 3422, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4923:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da", + "typeString": "literal_string \"log(bytes32)\"" + }, + "value": "log(bytes32)" + }, + { + "id": 3423, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3416, + "src": "4939:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_27b7cf8513ac6b65cae720183e1e60e67f8a9d92c01286c19d51d4e30aa269da", + "typeString": "literal_string \"log(bytes32)\"" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "expression": { + "id": 3420, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "4899:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3421, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "4899:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4899:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3419, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "4883:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4883:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3426, + "nodeType": "ExpressionStatement", + "src": "4883:60:16" + } + ] + }, + "id": 3428, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "logBytes32", + "nameLocation": "4842:10:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3417, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3416, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4861:2:16", + "nodeType": "VariableDeclaration", + "scope": 3428, + "src": "4853:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 3415, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4853:7:16", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4852:12:16" + }, + "returnParameters": { + "id": 3418, + "nodeType": "ParameterList", + "parameters": [], + "src": "4879:0:16" + }, + "scope": 10925, + "src": "4833:114:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3441, + "nodeType": "Block", + "src": "4986:65:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e7429", + "id": 3436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5030:11:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984", + "typeString": "literal_string \"log(uint)\"" + }, + "value": "log(uint)" + }, + { + "id": 3437, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3430, + "src": "5043:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_f5b1bba92d8f98cf25e27c94d7fc7cbfbae95a49dfe5ab0cdf64ddd7181bb984", + "typeString": "literal_string \"log(uint)\"" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "expression": { + "id": 3434, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5006:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3435, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5006:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5006:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3433, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "4990:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4990:57:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3440, + "nodeType": "ExpressionStatement", + "src": "4990:57:16" + } + ] + }, + "id": 3442, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "4959:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3431, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3430, + "mutability": "mutable", + "name": "p0", + "nameLocation": "4968:2:16", + "nodeType": "VariableDeclaration", + "scope": 3442, + "src": "4963:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3429, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "4963:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "4962:9:16" + }, + "returnParameters": { + "id": 3432, + "nodeType": "ParameterList", + "parameters": [], + "src": "4986:0:16" + }, + "scope": 10925, + "src": "4950:101:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3455, + "nodeType": "Block", + "src": "5099:67:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e6729", + "id": 3450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5143:13:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41304facd9323d75b11bcdd609cb38effffdb05710f7caf0e9b16c6d9d709f50", + "typeString": "literal_string \"log(string)\"" + }, + "value": "log(string)" + }, + { + "id": 3451, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3444, + "src": "5158:2:16", + "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": 3448, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5119:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3449, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5119:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5119:42:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3447, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "5103:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5103:59:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3454, + "nodeType": "ExpressionStatement", + "src": "5103:59:16" + } + ] + }, + "id": 3456, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5063:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3445, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3444, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5081:2:16", + "nodeType": "VariableDeclaration", + "scope": 3456, + "src": "5067:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3443, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5067:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5066:18:16" + }, + "returnParameters": { + "id": 3446, + "nodeType": "ParameterList", + "parameters": [], + "src": "5099:0:16" + }, + "scope": 10925, + "src": "5054:112:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3469, + "nodeType": "Block", + "src": "5205:65:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c29", + "id": 3464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5249:11:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + "value": "log(bool)" + }, + { + "id": 3465, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3458, + "src": "5262:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_32458eed3feca62a69292a55ca8a755ae4e6cdc57a38d15c298330064467fdd7", + "typeString": "literal_string \"log(bool)\"" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "expression": { + "id": 3462, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5225:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5225:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3466, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5225:40:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3461, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "5209:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3467, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5209:57:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3468, + "nodeType": "ExpressionStatement", + "src": "5209:57:16" + } + ] + }, + "id": 3470, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5178:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3458, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5187:2:16", + "nodeType": "VariableDeclaration", + "scope": 3470, + "src": "5182:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3457, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5182:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5181:9:16" + }, + "returnParameters": { + "id": 3460, + "nodeType": "ParameterList", + "parameters": [], + "src": "5205:0:16" + }, + "scope": 10925, + "src": "5169:101:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3483, + "nodeType": "Block", + "src": "5312:68:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f67286164647265737329", + "id": 3478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5356:14:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + "value": "log(address)" + }, + { + "id": 3479, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3472, + "src": "5372:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_2c2ecbc2212ac38c2f9ec89aa5fcef7f532a5db24dbf7cad1f48bc82843b7428", + "typeString": "literal_string \"log(address)\"" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "expression": { + "id": 3476, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5332:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5332:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3480, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5332:43:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3475, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "5316:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5316:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3482, + "nodeType": "ExpressionStatement", + "src": "5316:60:16" + } + ] + }, + "id": 3484, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5282:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3473, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3472, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5294:2:16", + "nodeType": "VariableDeclaration", + "scope": 3484, + "src": "5286:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3471, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5286:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5285:12:16" + }, + "returnParameters": { + "id": 3474, + "nodeType": "ParameterList", + "parameters": [], + "src": "5312:0:16" + }, + "scope": 10925, + "src": "5273:107:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3500, + "nodeType": "Block", + "src": "5428:74:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e7429", + "id": 3494, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5472:16:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c0f69806b714804c91bc48c3b408dde7373841a86e55c9ea3ee0c5945b4bc32", + "typeString": "literal_string \"log(uint,uint)\"" + }, + "value": "log(uint,uint)" + }, + { + "id": 3495, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3486, + "src": "5490:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3496, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3488, + "src": "5494:2:16", + "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": 3492, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5448:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3493, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5448:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3497, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5448:49:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3491, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "5432:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3498, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5432:66:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3499, + "nodeType": "ExpressionStatement", + "src": "5432:66:16" + } + ] + }, + "id": 3501, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5392:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3489, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3486, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5401:2:16", + "nodeType": "VariableDeclaration", + "scope": 3501, + "src": "5396:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3485, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5396:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3488, + "mutability": "mutable", + "name": "p1", + "nameLocation": "5410:2:16", + "nodeType": "VariableDeclaration", + "scope": 3501, + "src": "5405:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3487, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5405:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5395:18:16" + }, + "returnParameters": { + "id": 3490, + "nodeType": "ParameterList", + "parameters": [], + "src": "5428:0:16" + }, + "scope": 10925, + "src": "5383:119:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3517, + "nodeType": "Block", + "src": "5559:76:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e6729", + "id": 3511, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5603:18:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0fa3f345ed69310615f27bede4ec80a963e2134dd287fa93c82b0c1eefe029a8", + "typeString": "literal_string \"log(uint,string)\"" + }, + "value": "log(uint,string)" + }, + { + "id": 3512, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3503, + "src": "5623:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3513, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3505, + "src": "5627:2:16", + "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": 3509, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5579:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5579:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3514, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5579:51:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3508, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "5563:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5563:68:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3516, + "nodeType": "ExpressionStatement", + "src": "5563:68:16" + } + ] + }, + "id": 3518, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5514:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3503, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5523:2:16", + "nodeType": "VariableDeclaration", + "scope": 3518, + "src": "5518:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3502, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5518:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3505, + "mutability": "mutable", + "name": "p1", + "nameLocation": "5541:2:16", + "nodeType": "VariableDeclaration", + "scope": 3518, + "src": "5527:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3504, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5527:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "5517:27:16" + }, + "returnParameters": { + "id": 3507, + "nodeType": "ParameterList", + "parameters": [], + "src": "5559:0:16" + }, + "scope": 10925, + "src": "5505:130:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3534, + "nodeType": "Block", + "src": "5683:74:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c29", + "id": 3528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5727:16:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e6dd4ecaf57d2ec6eb02f2f993c53040200a16451fba718b7e8b170825fd172", + "typeString": "literal_string \"log(uint,bool)\"" + }, + "value": "log(uint,bool)" + }, + { + "id": 3529, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3520, + "src": "5745:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3530, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3522, + "src": "5749:2:16", + "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": 3526, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5703:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5703:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3531, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5703:49:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3525, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "5687:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5687:66:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3533, + "nodeType": "ExpressionStatement", + "src": "5687:66:16" + } + ] + }, + "id": 3535, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5647:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3520, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5656:2:16", + "nodeType": "VariableDeclaration", + "scope": 3535, + "src": "5651:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3519, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5651:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3522, + "mutability": "mutable", + "name": "p1", + "nameLocation": "5665:2:16", + "nodeType": "VariableDeclaration", + "scope": 3535, + "src": "5660:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3521, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "5660:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "5650:18:16" + }, + "returnParameters": { + "id": 3524, + "nodeType": "ParameterList", + "parameters": [], + "src": "5683:0:16" + }, + "scope": 10925, + "src": "5638:119:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3551, + "nodeType": "Block", + "src": "5808:77:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c6164647265737329", + "id": 3545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5852:19:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_58eb860cb5df2c2db83667a7ce62ef14d1323e0f3e304ea316fb64cd2c6fd3b2", + "typeString": "literal_string \"log(uint,address)\"" + }, + "value": "log(uint,address)" + }, + { + "id": 3546, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3537, + "src": "5873:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3547, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3539, + "src": "5877:2:16", + "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": 3543, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5828:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5828:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5828:52:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3542, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "5812:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3549, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5812:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3550, + "nodeType": "ExpressionStatement", + "src": "5812:69:16" + } + ] + }, + "id": 3552, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5769:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3537, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5778:2:16", + "nodeType": "VariableDeclaration", + "scope": 3552, + "src": "5773:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3536, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5773:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3539, + "mutability": "mutable", + "name": "p1", + "nameLocation": "5790:2:16", + "nodeType": "VariableDeclaration", + "scope": 3552, + "src": "5782:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5782:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5772:21:16" + }, + "returnParameters": { + "id": 3541, + "nodeType": "ParameterList", + "parameters": [], + "src": "5808:0:16" + }, + "scope": 10925, + "src": "5760:125:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3568, + "nodeType": "Block", + "src": "5942:76:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e7429", + "id": 3562, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5986:18:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9710a9d00d210736b1ce918b483e56000e2885769da8118b2fbf9fe33949d3bd", + "typeString": "literal_string \"log(string,uint)\"" + }, + "value": "log(string,uint)" + }, + { + "id": 3563, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3554, + "src": "6006:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3564, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3556, + "src": "6010:2:16", + "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": 3560, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "5962:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3561, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "5962:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3565, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5962:51:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3559, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "5946:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3566, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5946:68:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3567, + "nodeType": "ExpressionStatement", + "src": "5946:68:16" + } + ] + }, + "id": 3569, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "5897:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3557, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3554, + "mutability": "mutable", + "name": "p0", + "nameLocation": "5915:2:16", + "nodeType": "VariableDeclaration", + "scope": 3569, + "src": "5901:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3553, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5901:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3556, + "mutability": "mutable", + "name": "p1", + "nameLocation": "5924:2:16", + "nodeType": "VariableDeclaration", + "scope": 3569, + "src": "5919:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3555, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5919:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "5900:27:16" + }, + "returnParameters": { + "id": 3558, + "nodeType": "ParameterList", + "parameters": [], + "src": "5942:0:16" + }, + "scope": 10925, + "src": "5888:130:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3585, + "nodeType": "Block", + "src": "6084:78:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e6729", + "id": 3579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6128:20:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4b5c4277d556d03fbf5ee534fba41dc13982b44f2fa82f1d48fdd8b5b5b692ac", + "typeString": "literal_string \"log(string,string)\"" + }, + "value": "log(string,string)" + }, + { + "id": 3580, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3571, + "src": "6150:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3581, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3573, + "src": "6154:2:16", + "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": 3577, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6104:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6104:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3582, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6104:53:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3576, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "6088:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3583, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6088:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3584, + "nodeType": "ExpressionStatement", + "src": "6088:70:16" + } + ] + }, + "id": 3586, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6030:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3571, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6048:2:16", + "nodeType": "VariableDeclaration", + "scope": 3586, + "src": "6034:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3570, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6034:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3573, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6066:2:16", + "nodeType": "VariableDeclaration", + "scope": 3586, + "src": "6052:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3572, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6052:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6033:36:16" + }, + "returnParameters": { + "id": 3575, + "nodeType": "ParameterList", + "parameters": [], + "src": "6084:0:16" + }, + "scope": 10925, + "src": "6021:141:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3602, + "nodeType": "Block", + "src": "6219:76:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c29", + "id": 3596, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6263:18:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c3b556354c088fbb43886eb83c2a04bc7089663f964d22be308197a236f5b870", + "typeString": "literal_string \"log(string,bool)\"" + }, + "value": "log(string,bool)" + }, + { + "id": 3597, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3588, + "src": "6283:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3598, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3590, + "src": "6287:2:16", + "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": 3594, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6239:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3595, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6239:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6239:51:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3593, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "6223:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3600, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6223:68:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3601, + "nodeType": "ExpressionStatement", + "src": "6223:68:16" + } + ] + }, + "id": 3603, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6174:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3588, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6192:2:16", + "nodeType": "VariableDeclaration", + "scope": 3603, + "src": "6178:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3587, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6178:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3590, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6201:2:16", + "nodeType": "VariableDeclaration", + "scope": 3603, + "src": "6196:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3589, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6196:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6177:27:16" + }, + "returnParameters": { + "id": 3592, + "nodeType": "ParameterList", + "parameters": [], + "src": "6219:0:16" + }, + "scope": 10925, + "src": "6165:130:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3619, + "nodeType": "Block", + "src": "6355:79:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c6164647265737329", + "id": 3613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6399:21:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_319af333460570a1937bf195dd33445c0d0951c59127da6f1f038b9fdce3fd72", + "typeString": "literal_string \"log(string,address)\"" + }, + "value": "log(string,address)" + }, + { + "id": 3614, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3605, + "src": "6422:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3615, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3607, + "src": "6426:2:16", + "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": 3611, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6375:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3612, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6375:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3616, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6375:54:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3610, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "6359:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3617, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6359:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3618, + "nodeType": "ExpressionStatement", + "src": "6359:71:16" + } + ] + }, + "id": 3620, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6307:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3608, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3605, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6325:2:16", + "nodeType": "VariableDeclaration", + "scope": 3620, + "src": "6311:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3604, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6311:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3607, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6337:2:16", + "nodeType": "VariableDeclaration", + "scope": 3620, + "src": "6329:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3606, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6329:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6310:30:16" + }, + "returnParameters": { + "id": 3609, + "nodeType": "ParameterList", + "parameters": [], + "src": "6355:0:16" + }, + "scope": 10925, + "src": "6298:136:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3636, + "nodeType": "Block", + "src": "6482:74:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e7429", + "id": 3630, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6526:16:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_364b6a921e139cbe48176ce2b1f6700c7e568330bc5da26f60350cc33cf2a299", + "typeString": "literal_string \"log(bool,uint)\"" + }, + "value": "log(bool,uint)" + }, + { + "id": 3631, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3622, + "src": "6544:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 3632, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3624, + "src": "6548:2:16", + "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": 3628, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6502:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3629, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6502:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6502:49:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3627, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "6486:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3634, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6486:66:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3635, + "nodeType": "ExpressionStatement", + "src": "6486:66:16" + } + ] + }, + "id": 3637, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6446:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3625, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3622, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6455:2:16", + "nodeType": "VariableDeclaration", + "scope": 3637, + "src": "6450:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3621, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6450:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3624, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6464:2:16", + "nodeType": "VariableDeclaration", + "scope": 3637, + "src": "6459:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3623, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6459:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6449:18:16" + }, + "returnParameters": { + "id": 3626, + "nodeType": "ParameterList", + "parameters": [], + "src": "6482:0:16" + }, + "scope": 10925, + "src": "6437:119:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3653, + "nodeType": "Block", + "src": "6613:76:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e6729", + "id": 3647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6657:18:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8feac5256a5b88d7ca0173065b796567ecbc9d75ec022fa0f044eb427f962b84", + "typeString": "literal_string \"log(bool,string)\"" + }, + "value": "log(bool,string)" + }, + { + "id": 3648, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3639, + "src": "6677:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 3649, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3641, + "src": "6681:2:16", + "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": 3645, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6633:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3646, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6633:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3650, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6633:51:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3644, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "6617:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3651, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6617:68:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3652, + "nodeType": "ExpressionStatement", + "src": "6617:68:16" + } + ] + }, + "id": 3654, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6568:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3639, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6577:2:16", + "nodeType": "VariableDeclaration", + "scope": 3654, + "src": "6572:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3638, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6572:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3641, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6595:2:16", + "nodeType": "VariableDeclaration", + "scope": 3654, + "src": "6581:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3640, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "6581:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "6571:27:16" + }, + "returnParameters": { + "id": 3643, + "nodeType": "ParameterList", + "parameters": [], + "src": "6613:0:16" + }, + "scope": 10925, + "src": "6559:130:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3670, + "nodeType": "Block", + "src": "6737:74:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c29", + "id": 3664, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6781:16:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2a110e83227fbe26ff7524076f2091da3e9aa01d70b93677da53b41d22f4fb15", + "typeString": "literal_string \"log(bool,bool)\"" + }, + "value": "log(bool,bool)" + }, + { + "id": 3665, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3656, + "src": "6799:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 3666, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3658, + "src": "6803:2:16", + "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": 3662, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6757:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3663, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6757:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6757:49:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3661, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "6741:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6741:66:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3669, + "nodeType": "ExpressionStatement", + "src": "6741:66:16" + } + ] + }, + "id": 3671, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6701:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3659, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3656, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6710:2:16", + "nodeType": "VariableDeclaration", + "scope": 3671, + "src": "6705:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3655, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6705:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3658, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6719:2:16", + "nodeType": "VariableDeclaration", + "scope": 3671, + "src": "6714:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3657, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6714:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6704:18:16" + }, + "returnParameters": { + "id": 3660, + "nodeType": "ParameterList", + "parameters": [], + "src": "6737:0:16" + }, + "scope": 10925, + "src": "6692:119:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3687, + "nodeType": "Block", + "src": "6862:77:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c6164647265737329", + "id": 3681, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6906:19:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_853c4849443241e2249adafa4f69c8bb738b0f17c7a0a9d9997450cd71db4d55", + "typeString": "literal_string \"log(bool,address)\"" + }, + "value": "log(bool,address)" + }, + { + "id": 3682, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3673, + "src": "6927:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 3683, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3675, + "src": "6931:2:16", + "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": 3679, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "6882:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3680, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "6882:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3684, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6882:52:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3678, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "6866:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3685, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6866:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3686, + "nodeType": "ExpressionStatement", + "src": "6866:69:16" + } + ] + }, + "id": 3688, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6823:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3676, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3673, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6832:2:16", + "nodeType": "VariableDeclaration", + "scope": 3688, + "src": "6827:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3672, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6827:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3675, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6844:2:16", + "nodeType": "VariableDeclaration", + "scope": 3688, + "src": "6836:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3674, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6836:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6826:21:16" + }, + "returnParameters": { + "id": 3677, + "nodeType": "ParameterList", + "parameters": [], + "src": "6862:0:16" + }, + "scope": 10925, + "src": "6814:125:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3704, + "nodeType": "Block", + "src": "6990:77:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e7429", + "id": 3698, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7034:19:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2243cfa3a64f0f85afef83b08ba731ebd8a4b1053fdc66eb414b069452c9f133", + "typeString": "literal_string \"log(address,uint)\"" + }, + "value": "log(address,uint)" + }, + { + "id": 3699, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3690, + "src": "7055:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3700, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3692, + "src": "7059:2:16", + "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": 3696, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7010:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3697, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7010:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7010:52:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3695, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "6994:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6994:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3703, + "nodeType": "ExpressionStatement", + "src": "6994:69:16" + } + ] + }, + "id": 3705, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "6951:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3693, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3690, + "mutability": "mutable", + "name": "p0", + "nameLocation": "6963:2:16", + "nodeType": "VariableDeclaration", + "scope": 3705, + "src": "6955:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3689, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6955:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3692, + "mutability": "mutable", + "name": "p1", + "nameLocation": "6972:2:16", + "nodeType": "VariableDeclaration", + "scope": 3705, + "src": "6967:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3691, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "6967:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "6954:21:16" + }, + "returnParameters": { + "id": 3694, + "nodeType": "ParameterList", + "parameters": [], + "src": "6990:0:16" + }, + "scope": 10925, + "src": "6942:125:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3721, + "nodeType": "Block", + "src": "7127:79:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e6729", + "id": 3715, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7171:21:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_759f86bbdd0758679ecefbd32ea620068b2339dddd9e45ee0fa567ee6c81f0ab", + "typeString": "literal_string \"log(address,string)\"" + }, + "value": "log(address,string)" + }, + { + "id": 3716, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3707, + "src": "7194:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3717, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3709, + "src": "7198:2:16", + "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": 3713, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7147:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3714, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7147:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3718, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7147:54:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3712, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "7131:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3719, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7131:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3720, + "nodeType": "ExpressionStatement", + "src": "7131:71:16" + } + ] + }, + "id": 3722, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7079:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3710, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3707, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7091:2:16", + "nodeType": "VariableDeclaration", + "scope": 3722, + "src": "7083:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3706, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7083:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3709, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7109:2:16", + "nodeType": "VariableDeclaration", + "scope": 3722, + "src": "7095:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3708, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7095:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7082:30:16" + }, + "returnParameters": { + "id": 3711, + "nodeType": "ParameterList", + "parameters": [], + "src": "7127:0:16" + }, + "scope": 10925, + "src": "7070:136:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3738, + "nodeType": "Block", + "src": "7257:77:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c29", + "id": 3732, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7301:19:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_75b605d31a3bf49c8d814696c7c66216d3a7e81348c450078f032e425592f72b", + "typeString": "literal_string \"log(address,bool)\"" + }, + "value": "log(address,bool)" + }, + { + "id": 3733, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3724, + "src": "7322:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3734, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3726, + "src": "7326:2:16", + "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": 3730, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7277:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7277:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7277:52:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3729, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "7261:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7261:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3737, + "nodeType": "ExpressionStatement", + "src": "7261:69:16" + } + ] + }, + "id": 3739, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7218:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3727, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3724, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7230:2:16", + "nodeType": "VariableDeclaration", + "scope": 3739, + "src": "7222:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3723, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7222:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3726, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7239:2:16", + "nodeType": "VariableDeclaration", + "scope": 3739, + "src": "7234:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3725, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7234:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7221:21:16" + }, + "returnParameters": { + "id": 3728, + "nodeType": "ParameterList", + "parameters": [], + "src": "7257:0:16" + }, + "scope": 10925, + "src": "7209:125:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3755, + "nodeType": "Block", + "src": "7388:80:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c6164647265737329", + "id": 3749, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7432:22:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_daf0d4aa9a5679e832ac921da67b43572b4326ee2565442d3ed255b48cfb5161", + "typeString": "literal_string \"log(address,address)\"" + }, + "value": "log(address,address)" + }, + { + "id": 3750, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3741, + "src": "7456:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 3751, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3743, + "src": "7460:2:16", + "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": 3747, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7408:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7408:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7408:55:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3746, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "7392:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7392:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3754, + "nodeType": "ExpressionStatement", + "src": "7392:72:16" + } + ] + }, + "id": 3756, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7346:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3744, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3741, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7358:2:16", + "nodeType": "VariableDeclaration", + "scope": 3756, + "src": "7350:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3740, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7350:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3743, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7370:2:16", + "nodeType": "VariableDeclaration", + "scope": 3756, + "src": "7362:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3742, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7362:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7349:24:16" + }, + "returnParameters": { + "id": 3745, + "nodeType": "ParameterList", + "parameters": [], + "src": "7388:0:16" + }, + "scope": 10925, + "src": "7337:131:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3775, + "nodeType": "Block", + "src": "7525:83:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c75696e7429", + "id": 3768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7569:21:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e7820a7400e33a94b0ae6f00adee99b97ebef8b77c9e38dd555c2f6b541dee17", + "typeString": "literal_string \"log(uint,uint,uint)\"" + }, + "value": "log(uint,uint,uint)" + }, + { + "id": 3769, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3758, + "src": "7592:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3770, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3760, + "src": "7596:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3771, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3762, + "src": "7600:2:16", + "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": 3766, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7545:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7545:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7545:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3765, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "7529:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7529:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3774, + "nodeType": "ExpressionStatement", + "src": "7529:75:16" + } + ] + }, + "id": 3776, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7480:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3758, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7489:2:16", + "nodeType": "VariableDeclaration", + "scope": 3776, + "src": "7484:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3757, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7484:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3760, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7498:2:16", + "nodeType": "VariableDeclaration", + "scope": 3776, + "src": "7493:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3759, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7493:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3762, + "mutability": "mutable", + "name": "p2", + "nameLocation": "7507:2:16", + "nodeType": "VariableDeclaration", + "scope": 3776, + "src": "7502:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3761, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7502:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7483:27:16" + }, + "returnParameters": { + "id": 3764, + "nodeType": "ParameterList", + "parameters": [], + "src": "7525:0:16" + }, + "scope": 10925, + "src": "7471:137:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3795, + "nodeType": "Block", + "src": "7674:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c737472696e6729", + "id": 3788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7718:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7d690ee617a4217569e96b85c815115b0eee15407adaa46490ed719a45458699", + "typeString": "literal_string \"log(uint,uint,string)\"" + }, + "value": "log(uint,uint,string)" + }, + { + "id": 3789, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3778, + "src": "7743:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3790, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3780, + "src": "7747:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3791, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3782, + "src": "7751:2:16", + "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": 3786, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7694:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7694:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7694:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3785, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "7678:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7678:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3794, + "nodeType": "ExpressionStatement", + "src": "7678:77:16" + } + ] + }, + "id": 3796, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7620:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3778, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7629:2:16", + "nodeType": "VariableDeclaration", + "scope": 3796, + "src": "7624:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3777, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7624:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3780, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7638:2:16", + "nodeType": "VariableDeclaration", + "scope": 3796, + "src": "7633:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3779, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7633:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3782, + "mutability": "mutable", + "name": "p2", + "nameLocation": "7656:2:16", + "nodeType": "VariableDeclaration", + "scope": 3796, + "src": "7642:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3781, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "7642:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "7623:36:16" + }, + "returnParameters": { + "id": 3784, + "nodeType": "ParameterList", + "parameters": [], + "src": "7674:0:16" + }, + "scope": 10925, + "src": "7611:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3815, + "nodeType": "Block", + "src": "7816:83:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c626f6f6c29", + "id": 3808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7860:21:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_67570ff704783f5d282b26317dc28aeb4fe23c085020ec6e580604c709916fa8", + "typeString": "literal_string \"log(uint,uint,bool)\"" + }, + "value": "log(uint,uint,bool)" + }, + { + "id": 3809, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3798, + "src": "7883:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3810, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3800, + "src": "7887:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3811, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3802, + "src": "7891:2:16", + "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": 3806, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7836:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7836:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7836:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3805, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "7820:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7820:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3814, + "nodeType": "ExpressionStatement", + "src": "7820:75:16" + } + ] + }, + "id": 3816, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7771:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3803, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3798, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7780:2:16", + "nodeType": "VariableDeclaration", + "scope": 3816, + "src": "7775:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3797, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7775:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3800, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7789:2:16", + "nodeType": "VariableDeclaration", + "scope": 3816, + "src": "7784:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3799, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7784:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3802, + "mutability": "mutable", + "name": "p2", + "nameLocation": "7798:2:16", + "nodeType": "VariableDeclaration", + "scope": 3816, + "src": "7793:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3801, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7793:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7774:27:16" + }, + "returnParameters": { + "id": 3804, + "nodeType": "ParameterList", + "parameters": [], + "src": "7816:0:16" + }, + "scope": 10925, + "src": "7762:137:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3835, + "nodeType": "Block", + "src": "7959:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c6164647265737329", + "id": 3828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8003:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_be33491b8b53b7f3deae2959d1f4b0a22e6967a778c50f03dc188de84a207616", + "typeString": "literal_string \"log(uint,uint,address)\"" + }, + "value": "log(uint,uint,address)" + }, + { + "id": 3829, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3818, + "src": "8029:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3830, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3820, + "src": "8033:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3831, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3822, + "src": "8037:2:16", + "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": 3826, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "7979:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3827, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "7979:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7979:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3825, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "7963:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7963:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3834, + "nodeType": "ExpressionStatement", + "src": "7963:78:16" + } + ] + }, + "id": 3836, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "7911:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3823, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3818, + "mutability": "mutable", + "name": "p0", + "nameLocation": "7920:2:16", + "nodeType": "VariableDeclaration", + "scope": 3836, + "src": "7915:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3817, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7915:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3820, + "mutability": "mutable", + "name": "p1", + "nameLocation": "7929:2:16", + "nodeType": "VariableDeclaration", + "scope": 3836, + "src": "7924:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3819, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7924:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3822, + "mutability": "mutable", + "name": "p2", + "nameLocation": "7941:2:16", + "nodeType": "VariableDeclaration", + "scope": 3836, + "src": "7933:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3821, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7933:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7914:30:16" + }, + "returnParameters": { + "id": 3824, + "nodeType": "ParameterList", + "parameters": [], + "src": "7959:0:16" + }, + "scope": 10925, + "src": "7902:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3855, + "nodeType": "Block", + "src": "8111:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c75696e7429", + "id": 3848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8155:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b6de83ff0d95cd44df8bb8bfd95aa0a6291cab3b8502d85b1dcfd35a64c81cd", + "typeString": "literal_string \"log(uint,string,uint)\"" + }, + "value": "log(uint,string,uint)" + }, + { + "id": 3849, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3838, + "src": "8180:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3850, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3840, + "src": "8184:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3851, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3842, + "src": "8188:2:16", + "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": 3846, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8131:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8131:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8131:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3845, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "8115:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8115:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3854, + "nodeType": "ExpressionStatement", + "src": "8115:77:16" + } + ] + }, + "id": 3856, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8057:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3838, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8066:2:16", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "8061:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3837, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8061:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3840, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8084:2:16", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "8070:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3839, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8070:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3842, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8093:2:16", + "nodeType": "VariableDeclaration", + "scope": 3856, + "src": "8088:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3841, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8088:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8060:36:16" + }, + "returnParameters": { + "id": 3844, + "nodeType": "ParameterList", + "parameters": [], + "src": "8111:0:16" + }, + "scope": 10925, + "src": "8048:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3875, + "nodeType": "Block", + "src": "8271:87:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c737472696e6729", + "id": 3868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8315:25:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3f57c295245f8891b303347a08039155dde08dde601649242724a0ce876bcc65", + "typeString": "literal_string \"log(uint,string,string)\"" + }, + "value": "log(uint,string,string)" + }, + { + "id": 3869, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3858, + "src": "8342:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3870, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3860, + "src": "8346:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3871, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3862, + "src": "8350:2:16", + "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": 3866, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8291:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8291:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8291:62:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3865, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "8275:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8275:79:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3874, + "nodeType": "ExpressionStatement", + "src": "8275:79:16" + } + ] + }, + "id": 3876, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8208:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3858, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8217:2:16", + "nodeType": "VariableDeclaration", + "scope": 3876, + "src": "8212:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3857, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8212:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3860, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8235:2:16", + "nodeType": "VariableDeclaration", + "scope": 3876, + "src": "8221:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3859, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8221:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3862, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8253:2:16", + "nodeType": "VariableDeclaration", + "scope": 3876, + "src": "8239:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3861, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8239:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8211:45:16" + }, + "returnParameters": { + "id": 3864, + "nodeType": "ParameterList", + "parameters": [], + "src": "8271:0:16" + }, + "scope": 10925, + "src": "8199:159:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3895, + "nodeType": "Block", + "src": "8424:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c626f6f6c29", + "id": 3888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8468:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_46a7d0ce13c2c26d158d9defa8ce488dbeb81d3c852592fb370bd45953199485", + "typeString": "literal_string \"log(uint,string,bool)\"" + }, + "value": "log(uint,string,bool)" + }, + { + "id": 3889, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3878, + "src": "8493:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3890, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3880, + "src": "8497:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3891, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3882, + "src": "8501:2:16", + "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": 3886, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8444:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8444:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8444:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3885, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "8428:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8428:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3894, + "nodeType": "ExpressionStatement", + "src": "8428:77:16" + } + ] + }, + "id": 3896, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8370:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3878, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8379:2:16", + "nodeType": "VariableDeclaration", + "scope": 3896, + "src": "8374:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3877, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8374:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3880, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8397:2:16", + "nodeType": "VariableDeclaration", + "scope": 3896, + "src": "8383:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3879, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8383:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3882, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8406:2:16", + "nodeType": "VariableDeclaration", + "scope": 3896, + "src": "8401:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3881, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8401:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8373:36:16" + }, + "returnParameters": { + "id": 3884, + "nodeType": "ParameterList", + "parameters": [], + "src": "8424:0:16" + }, + "scope": 10925, + "src": "8361:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3915, + "nodeType": "Block", + "src": "8578:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c6164647265737329", + "id": 3908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8622:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1f90f24a472e5198a9eef41600323c8a476ef0a1db1496125f7d053a74d474ac", + "typeString": "literal_string \"log(uint,string,address)\"" + }, + "value": "log(uint,string,address)" + }, + { + "id": 3909, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3898, + "src": "8650:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3910, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3900, + "src": "8654:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 3911, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3902, + "src": "8658:2:16", + "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": 3906, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8598:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8598:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8598:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3905, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "8582:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8582:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3914, + "nodeType": "ExpressionStatement", + "src": "8582:80:16" + } + ] + }, + "id": 3916, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8521:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3903, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3898, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8530:2:16", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "8525:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3897, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8525:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3900, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8548:2:16", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "8534:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3899, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8534:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3902, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8560:2:16", + "nodeType": "VariableDeclaration", + "scope": 3916, + "src": "8552:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3901, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8552:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8524:39:16" + }, + "returnParameters": { + "id": 3904, + "nodeType": "ParameterList", + "parameters": [], + "src": "8578:0:16" + }, + "scope": 10925, + "src": "8512:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3935, + "nodeType": "Block", + "src": "8723:83:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c75696e7429", + "id": 3928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8767:21:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5a4d9922ab81f1126dafac21c1ce3fb483db2e4898341fe0758315eb5f3054d6", + "typeString": "literal_string \"log(uint,bool,uint)\"" + }, + "value": "log(uint,bool,uint)" + }, + { + "id": 3929, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3918, + "src": "8790:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3930, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3920, + "src": "8794:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 3931, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3922, + "src": "8798:2:16", + "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": 3926, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8743:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8743:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8743:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3925, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "8727:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8727:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3934, + "nodeType": "ExpressionStatement", + "src": "8727:75:16" + } + ] + }, + "id": 3936, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8678:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3918, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8687:2:16", + "nodeType": "VariableDeclaration", + "scope": 3936, + "src": "8682:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3917, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8682:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3920, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8696:2:16", + "nodeType": "VariableDeclaration", + "scope": 3936, + "src": "8691:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3919, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8691:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3922, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8705:2:16", + "nodeType": "VariableDeclaration", + "scope": 3936, + "src": "8700:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3921, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8700:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "8681:27:16" + }, + "returnParameters": { + "id": 3924, + "nodeType": "ParameterList", + "parameters": [], + "src": "8723:0:16" + }, + "scope": 10925, + "src": "8669:137:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3955, + "nodeType": "Block", + "src": "8872:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c737472696e6729", + "id": 3948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "8916:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8b0e14fe247223cbba6a19a2fac250db70b4f126d0f3f63ac9c3f080885b9f82", + "typeString": "literal_string \"log(uint,bool,string)\"" + }, + "value": "log(uint,bool,string)" + }, + { + "id": 3949, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3938, + "src": "8941:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3950, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3940, + "src": "8945:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 3951, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3942, + "src": "8949:2:16", + "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": 3946, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "8892:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "8892:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8892:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3945, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "8876:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8876:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3954, + "nodeType": "ExpressionStatement", + "src": "8876:77:16" + } + ] + }, + "id": 3956, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8818:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3938, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8827:2:16", + "nodeType": "VariableDeclaration", + "scope": 3956, + "src": "8822:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3937, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8822:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3940, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8836:2:16", + "nodeType": "VariableDeclaration", + "scope": 3956, + "src": "8831:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3939, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8831:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3942, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8854:2:16", + "nodeType": "VariableDeclaration", + "scope": 3956, + "src": "8840:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 3941, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8840:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8821:36:16" + }, + "returnParameters": { + "id": 3944, + "nodeType": "ParameterList", + "parameters": [], + "src": "8872:0:16" + }, + "scope": 10925, + "src": "8809:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3975, + "nodeType": "Block", + "src": "9014:83:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c29", + "id": 3968, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9058:21:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d5ceace024d24c243571d0b2393ca9fb37aa961a0e028332e72cd7dfb84c0971", + "typeString": "literal_string \"log(uint,bool,bool)\"" + }, + "value": "log(uint,bool,bool)" + }, + { + "id": 3969, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3958, + "src": "9081:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3970, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3960, + "src": "9085:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 3971, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3962, + "src": "9089:2:16", + "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": 3966, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9034:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9034:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9034:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3965, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "9018:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9018:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3974, + "nodeType": "ExpressionStatement", + "src": "9018:75:16" + } + ] + }, + "id": 3976, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "8969:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3963, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3958, + "mutability": "mutable", + "name": "p0", + "nameLocation": "8978:2:16", + "nodeType": "VariableDeclaration", + "scope": 3976, + "src": "8973:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3957, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "8973:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3960, + "mutability": "mutable", + "name": "p1", + "nameLocation": "8987:2:16", + "nodeType": "VariableDeclaration", + "scope": 3976, + "src": "8982:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3959, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8982:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3962, + "mutability": "mutable", + "name": "p2", + "nameLocation": "8996:2:16", + "nodeType": "VariableDeclaration", + "scope": 3976, + "src": "8991:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3961, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "8991:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "8972:27:16" + }, + "returnParameters": { + "id": 3964, + "nodeType": "ParameterList", + "parameters": [], + "src": "9014:0:16" + }, + "scope": 10925, + "src": "8960:137:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 3995, + "nodeType": "Block", + "src": "9157:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c6164647265737329", + "id": 3988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9201:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_424effbf6346b3a7c79debdbad20f804c7961e0193d509136d2bb7c09c7ff9b2", + "typeString": "literal_string \"log(uint,bool,address)\"" + }, + "value": "log(uint,bool,address)" + }, + { + "id": 3989, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3978, + "src": "9227:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 3990, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3980, + "src": "9231:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 3991, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3982, + "src": "9235:2:16", + "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": 3986, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9177:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 3987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9177:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 3992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9177:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 3985, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "9161:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 3993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9161:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 3994, + "nodeType": "ExpressionStatement", + "src": "9161:78:16" + } + ] + }, + "id": 3996, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9109:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 3983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3978, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9118:2:16", + "nodeType": "VariableDeclaration", + "scope": 3996, + "src": "9113:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3977, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9113:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3980, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9127:2:16", + "nodeType": "VariableDeclaration", + "scope": 3996, + "src": "9122:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 3979, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9122:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 3982, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9139:2:16", + "nodeType": "VariableDeclaration", + "scope": 3996, + "src": "9131:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3981, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9131:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9112:30:16" + }, + "returnParameters": { + "id": 3984, + "nodeType": "ParameterList", + "parameters": [], + "src": "9157:0:16" + }, + "scope": 10925, + "src": "9100:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4015, + "nodeType": "Block", + "src": "9303:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c75696e7429", + "id": 4008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9347:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_884343aaf095a99f79852cd574543144a9a04148c5eb5687826e5e86a2554617", + "typeString": "literal_string \"log(uint,address,uint)\"" + }, + "value": "log(uint,address,uint)" + }, + { + "id": 4009, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 3998, + "src": "9373:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4010, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4000, + "src": "9377:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4011, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4002, + "src": "9381:2:16", + "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": 4006, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9323:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4007, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9323:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9323:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4005, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "9307:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9307:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4014, + "nodeType": "ExpressionStatement", + "src": "9307:78:16" + } + ] + }, + "id": 4016, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9255:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 3998, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9264:2:16", + "nodeType": "VariableDeclaration", + "scope": 4016, + "src": "9259:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 3997, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9259:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4000, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9276:2:16", + "nodeType": "VariableDeclaration", + "scope": 4016, + "src": "9268:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 3999, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9268:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4002, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9285:2:16", + "nodeType": "VariableDeclaration", + "scope": 4016, + "src": "9280:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4001, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9280:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9258:30:16" + }, + "returnParameters": { + "id": 4004, + "nodeType": "ParameterList", + "parameters": [], + "src": "9303:0:16" + }, + "scope": 10925, + "src": "9246:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4035, + "nodeType": "Block", + "src": "9458:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c737472696e6729", + "id": 4028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9502:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ce83047b6eeeca52b57db5064e316bb4dc615477077814d1a191d68a4818cbed", + "typeString": "literal_string \"log(uint,address,string)\"" + }, + "value": "log(uint,address,string)" + }, + { + "id": 4029, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4018, + "src": "9530:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4030, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4020, + "src": "9534:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4031, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4022, + "src": "9538:2:16", + "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": 4026, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9478:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4027, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9478:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9478:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4025, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "9462:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9462:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4034, + "nodeType": "ExpressionStatement", + "src": "9462:80:16" + } + ] + }, + "id": 4036, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9401:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4018, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9410:2:16", + "nodeType": "VariableDeclaration", + "scope": 4036, + "src": "9405:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4017, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9405:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4020, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9422:2:16", + "nodeType": "VariableDeclaration", + "scope": 4036, + "src": "9414:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4019, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9414:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4022, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9440:2:16", + "nodeType": "VariableDeclaration", + "scope": 4036, + "src": "9426:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4021, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9426:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "9404:39:16" + }, + "returnParameters": { + "id": 4024, + "nodeType": "ParameterList", + "parameters": [], + "src": "9458:0:16" + }, + "scope": 10925, + "src": "9392:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4055, + "nodeType": "Block", + "src": "9606:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c626f6f6c29", + "id": 4048, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9650:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7ad0128e41690364edd967a051c6d9cea9f7c322246c5ed2ebc0083265828a80", + "typeString": "literal_string \"log(uint,address,bool)\"" + }, + "value": "log(uint,address,bool)" + }, + { + "id": 4049, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4038, + "src": "9676:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4050, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4040, + "src": "9680:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4051, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4042, + "src": "9684:2:16", + "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": 4046, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9626:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4047, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9626:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4052, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9626:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4045, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "9610:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4053, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9610:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4054, + "nodeType": "ExpressionStatement", + "src": "9610:78:16" + } + ] + }, + "id": 4056, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9558:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4043, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4038, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9567:2:16", + "nodeType": "VariableDeclaration", + "scope": 4056, + "src": "9562:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4037, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9562:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4040, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9579:2:16", + "nodeType": "VariableDeclaration", + "scope": 4056, + "src": "9571:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4039, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9571:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4042, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9588:2:16", + "nodeType": "VariableDeclaration", + "scope": 4056, + "src": "9583:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4041, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "9583:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "9561:30:16" + }, + "returnParameters": { + "id": 4044, + "nodeType": "ParameterList", + "parameters": [], + "src": "9606:0:16" + }, + "scope": 10925, + "src": "9549:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4075, + "nodeType": "Block", + "src": "9755:89:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c6164647265737329", + "id": 4068, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9799:27:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7d77a61be18c592527fe1ce89d591c1badea18ef3198dacc513c5ba08449fd7b", + "typeString": "literal_string \"log(uint,address,address)\"" + }, + "value": "log(uint,address,address)" + }, + { + "id": 4069, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4058, + "src": "9828:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4070, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4060, + "src": "9832:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4071, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4062, + "src": "9836:2:16", + "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": 4066, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9775:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4067, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9775:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4072, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9775:64:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4065, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "9759:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9759:81:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4074, + "nodeType": "ExpressionStatement", + "src": "9759:81:16" + } + ] + }, + "id": 4076, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9704:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4063, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4058, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9713:2:16", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "9708:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4057, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9708:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4060, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9725:2:16", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "9717:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4059, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9717:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4062, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9737:2:16", + "nodeType": "VariableDeclaration", + "scope": 4076, + "src": "9729:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4061, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "9729:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "9707:33:16" + }, + "returnParameters": { + "id": 4064, + "nodeType": "ParameterList", + "parameters": [], + "src": "9755:0:16" + }, + "scope": 10925, + "src": "9695:149:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4095, + "nodeType": "Block", + "src": "9910:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c75696e7429", + "id": 4088, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "9954:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_969cdd03749f5aa30c7fce9178272cdca616cb2cc28128d3b9824be8046f827e", + "typeString": "literal_string \"log(string,uint,uint)\"" + }, + "value": "log(string,uint,uint)" + }, + { + "id": 4089, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4078, + "src": "9979:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4090, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4080, + "src": "9983:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4091, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4082, + "src": "9987:2:16", + "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": 4086, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "9930:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "9930:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9930:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4085, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "9914:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "9914:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4094, + "nodeType": "ExpressionStatement", + "src": "9914:77:16" + } + ] + }, + "id": 4096, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "9856:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4083, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4078, + "mutability": "mutable", + "name": "p0", + "nameLocation": "9874:2:16", + "nodeType": "VariableDeclaration", + "scope": 4096, + "src": "9860:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4077, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "9860:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4080, + "mutability": "mutable", + "name": "p1", + "nameLocation": "9883:2:16", + "nodeType": "VariableDeclaration", + "scope": 4096, + "src": "9878:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4079, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9878:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4082, + "mutability": "mutable", + "name": "p2", + "nameLocation": "9892:2:16", + "nodeType": "VariableDeclaration", + "scope": 4096, + "src": "9887:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4081, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "9887:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "9859:36:16" + }, + "returnParameters": { + "id": 4084, + "nodeType": "ParameterList", + "parameters": [], + "src": "9910:0:16" + }, + "scope": 10925, + "src": "9847:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4115, + "nodeType": "Block", + "src": "10070:87:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c737472696e6729", + "id": 4108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10114:25:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a3f5c739d439f7a3912e960230088fb752539d00203d48771c643a12b26892ec", + "typeString": "literal_string \"log(string,uint,string)\"" + }, + "value": "log(string,uint,string)" + }, + { + "id": 4109, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4098, + "src": "10141:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4110, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4100, + "src": "10145:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4111, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4102, + "src": "10149:2:16", + "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": 4106, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10090:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10090:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4112, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10090:62:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4105, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "10074:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10074:79:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4114, + "nodeType": "ExpressionStatement", + "src": "10074:79:16" + } + ] + }, + "id": 4116, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10007:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4098, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10025:2:16", + "nodeType": "VariableDeclaration", + "scope": 4116, + "src": "10011:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4097, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10011:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4100, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10034:2:16", + "nodeType": "VariableDeclaration", + "scope": 4116, + "src": "10029:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4099, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10029:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4102, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10052:2:16", + "nodeType": "VariableDeclaration", + "scope": 4116, + "src": "10038:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4101, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10038:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10010:45:16" + }, + "returnParameters": { + "id": 4104, + "nodeType": "ParameterList", + "parameters": [], + "src": "10070:0:16" + }, + "scope": 10925, + "src": "9998:159:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4135, + "nodeType": "Block", + "src": "10223:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c29", + "id": 4128, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10267:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f102ee05f3b79d3bc2ba0350401e35479d9f95705fb40abfaeb49d12355695b3", + "typeString": "literal_string \"log(string,uint,bool)\"" + }, + "value": "log(string,uint,bool)" + }, + { + "id": 4129, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4118, + "src": "10292:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4130, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4120, + "src": "10296:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4131, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4122, + "src": "10300:2:16", + "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": 4126, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10243:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4127, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10243:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4132, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10243:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4125, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "10227:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4133, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10227:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4134, + "nodeType": "ExpressionStatement", + "src": "10227:77:16" + } + ] + }, + "id": 4136, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10169:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4123, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4118, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10187:2:16", + "nodeType": "VariableDeclaration", + "scope": 4136, + "src": "10173:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4117, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10173:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4120, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10196:2:16", + "nodeType": "VariableDeclaration", + "scope": 4136, + "src": "10191:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4119, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10191:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4122, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10205:2:16", + "nodeType": "VariableDeclaration", + "scope": 4136, + "src": "10200:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4121, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10200:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "10172:36:16" + }, + "returnParameters": { + "id": 4124, + "nodeType": "ParameterList", + "parameters": [], + "src": "10223:0:16" + }, + "scope": 10925, + "src": "10160:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4155, + "nodeType": "Block", + "src": "10377:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c6164647265737329", + "id": 4148, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10421:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e3849f79a3c07bea1bae0837bfeee5da2531684b262865f1541a60df4fcd512a", + "typeString": "literal_string \"log(string,uint,address)\"" + }, + "value": "log(string,uint,address)" + }, + { + "id": 4149, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4138, + "src": "10449:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4150, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4140, + "src": "10453:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4151, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4142, + "src": "10457:2:16", + "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": 4146, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10397:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4147, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10397:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4152, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10397:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4145, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "10381:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4153, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10381:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4154, + "nodeType": "ExpressionStatement", + "src": "10381:80:16" + } + ] + }, + "id": 4156, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10320:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4143, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4138, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10338:2:16", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "10324:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4137, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10324:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4140, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10347:2:16", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "10342:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4139, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10342:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4142, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10359:2:16", + "nodeType": "VariableDeclaration", + "scope": 4156, + "src": "10351:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4141, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "10351:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10323:39:16" + }, + "returnParameters": { + "id": 4144, + "nodeType": "ParameterList", + "parameters": [], + "src": "10377:0:16" + }, + "scope": 10925, + "src": "10311:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4175, + "nodeType": "Block", + "src": "10540:87:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e7429", + "id": 4168, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10584:25:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f362ca59af8dc58335601f00e8a4f3f8cd0c03c9716c1459118a41613b5e0147", + "typeString": "literal_string \"log(string,string,uint)\"" + }, + "value": "log(string,string,uint)" + }, + { + "id": 4169, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4158, + "src": "10611:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4170, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4160, + "src": "10615:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4171, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4162, + "src": "10619:2:16", + "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": 4166, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10560:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10560:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10560:62:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4165, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "10544:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10544:79:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4174, + "nodeType": "ExpressionStatement", + "src": "10544:79:16" + } + ] + }, + "id": 4176, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10477:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4163, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4158, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10495:2:16", + "nodeType": "VariableDeclaration", + "scope": 4176, + "src": "10481:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4157, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10481:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4160, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10513:2:16", + "nodeType": "VariableDeclaration", + "scope": 4176, + "src": "10499:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4159, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10499:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4162, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10522:2:16", + "nodeType": "VariableDeclaration", + "scope": 4176, + "src": "10517:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4161, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "10517:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "10480:45:16" + }, + "returnParameters": { + "id": 4164, + "nodeType": "ParameterList", + "parameters": [], + "src": "10540:0:16" + }, + "scope": 10925, + "src": "10468:159:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4195, + "nodeType": "Block", + "src": "10711:89:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e6729", + "id": 4188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10755:27:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ced7cef693312206c21f0e92e3b54e2e16bf33db5eec350c78866822c665e1f", + "typeString": "literal_string \"log(string,string,string)\"" + }, + "value": "log(string,string,string)" + }, + { + "id": 4189, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4178, + "src": "10784:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4190, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4180, + "src": "10788:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4191, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4182, + "src": "10792:2:16", + "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": 4186, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10731:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10731:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10731:64:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4185, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "10715:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10715:81:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4194, + "nodeType": "ExpressionStatement", + "src": "10715:81:16" + } + ] + }, + "id": 4196, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10639:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4183, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4178, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10657:2:16", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "10643:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4177, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10643:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4180, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10675:2:16", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "10661:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4179, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10661:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4182, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10693:2:16", + "nodeType": "VariableDeclaration", + "scope": 4196, + "src": "10679:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4181, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10679:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "10642:54:16" + }, + "returnParameters": { + "id": 4184, + "nodeType": "ParameterList", + "parameters": [], + "src": "10711:0:16" + }, + "scope": 10925, + "src": "10630:170:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4215, + "nodeType": "Block", + "src": "10875:87:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c29", + "id": 4208, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "10919:25:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b0e0f9b5ad960213f9ab262d120ce4ec3edffc58d1ad51b99628a777e82d8acb", + "typeString": "literal_string \"log(string,string,bool)\"" + }, + "value": "log(string,string,bool)" + }, + { + "id": 4209, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4198, + "src": "10946:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4210, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4200, + "src": "10950:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4211, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4202, + "src": "10954:2:16", + "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": 4206, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "10895:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4207, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "10895:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4212, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10895:62:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4205, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "10879:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "10879:79:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4214, + "nodeType": "ExpressionStatement", + "src": "10879:79:16" + } + ] + }, + "id": 4216, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10812:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4198, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10830:2:16", + "nodeType": "VariableDeclaration", + "scope": 4216, + "src": "10816:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4197, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10816:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4200, + "mutability": "mutable", + "name": "p1", + "nameLocation": "10848:2:16", + "nodeType": "VariableDeclaration", + "scope": 4216, + "src": "10834:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4199, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10834:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4202, + "mutability": "mutable", + "name": "p2", + "nameLocation": "10857:2:16", + "nodeType": "VariableDeclaration", + "scope": 4216, + "src": "10852:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4201, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "10852:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "10815:45:16" + }, + "returnParameters": { + "id": 4204, + "nodeType": "ParameterList", + "parameters": [], + "src": "10875:0:16" + }, + "scope": 10925, + "src": "10803:159:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4235, + "nodeType": "Block", + "src": "11040:90:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c6164647265737329", + "id": 4228, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11084:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_95ed0195ee22a092ad93d352c33e8dc78b91f0c01eab9cff270af55b2ae65768", + "typeString": "literal_string \"log(string,string,address)\"" + }, + "value": "log(string,string,address)" + }, + { + "id": 4229, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4218, + "src": "11114:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4230, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4220, + "src": "11118:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4231, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4222, + "src": "11122:2:16", + "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": 4226, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11060:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4227, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11060:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4232, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11060:65:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4225, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "11044:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11044:82:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4234, + "nodeType": "ExpressionStatement", + "src": "11044:82:16" + } + ] + }, + "id": 4236, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "10974:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4218, + "mutability": "mutable", + "name": "p0", + "nameLocation": "10992:2:16", + "nodeType": "VariableDeclaration", + "scope": 4236, + "src": "10978:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4217, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10978:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4220, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11010:2:16", + "nodeType": "VariableDeclaration", + "scope": 4236, + "src": "10996:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4219, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "10996:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4222, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11022:2:16", + "nodeType": "VariableDeclaration", + "scope": 4236, + "src": "11014:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4221, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11014:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "10977:48:16" + }, + "returnParameters": { + "id": 4224, + "nodeType": "ParameterList", + "parameters": [], + "src": "11040:0:16" + }, + "scope": 10925, + "src": "10965:165:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4255, + "nodeType": "Block", + "src": "11196:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e7429", + "id": 4248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11240:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_291bb9d00defdc1b95c66c8b4bc10ef714a549c4f22fb190fe687dc5e85a4db1", + "typeString": "literal_string \"log(string,bool,uint)\"" + }, + "value": "log(string,bool,uint)" + }, + { + "id": 4249, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4238, + "src": "11265:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4250, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4240, + "src": "11269:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4251, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4242, + "src": "11273:2:16", + "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": 4246, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11216:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11216:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11216:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4245, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "11200:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11200:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4254, + "nodeType": "ExpressionStatement", + "src": "11200:77:16" + } + ] + }, + "id": 4256, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11142:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4238, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11160:2:16", + "nodeType": "VariableDeclaration", + "scope": 4256, + "src": "11146:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4237, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11146:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4240, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11169:2:16", + "nodeType": "VariableDeclaration", + "scope": 4256, + "src": "11164:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4239, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11164:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4242, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11178:2:16", + "nodeType": "VariableDeclaration", + "scope": 4256, + "src": "11173:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4241, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11173:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11145:36:16" + }, + "returnParameters": { + "id": 4244, + "nodeType": "ParameterList", + "parameters": [], + "src": "11196:0:16" + }, + "scope": 10925, + "src": "11133:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4275, + "nodeType": "Block", + "src": "11356:87:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e6729", + "id": 4268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11400:25:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e298f47d872a89293d316b9b936000a26f83eda2ba3171b2f9f16e2bf618c3e7", + "typeString": "literal_string \"log(string,bool,string)\"" + }, + "value": "log(string,bool,string)" + }, + { + "id": 4269, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4258, + "src": "11427:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4270, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4260, + "src": "11431:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4271, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4262, + "src": "11435:2:16", + "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": 4266, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11376:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4267, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11376:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4272, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11376:62:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4265, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "11360:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4273, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11360:79:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4274, + "nodeType": "ExpressionStatement", + "src": "11360:79:16" + } + ] + }, + "id": 4276, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11293:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4263, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4258, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11311:2:16", + "nodeType": "VariableDeclaration", + "scope": 4276, + "src": "11297:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4257, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11297:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4260, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11320:2:16", + "nodeType": "VariableDeclaration", + "scope": 4276, + "src": "11315:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4259, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11315:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4262, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11338:2:16", + "nodeType": "VariableDeclaration", + "scope": 4276, + "src": "11324:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4261, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11324:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11296:45:16" + }, + "returnParameters": { + "id": 4264, + "nodeType": "ParameterList", + "parameters": [], + "src": "11356:0:16" + }, + "scope": 10925, + "src": "11284:159:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4295, + "nodeType": "Block", + "src": "11509:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c29", + "id": 4288, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11553:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_850b7ad637241a873b861925ccffb71aaffb030b1df8850f324c9804bc7b443d", + "typeString": "literal_string \"log(string,bool,bool)\"" + }, + "value": "log(string,bool,bool)" + }, + { + "id": 4289, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4278, + "src": "11578:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4290, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4280, + "src": "11582:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4291, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4282, + "src": "11586:2:16", + "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": 4286, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11529:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4287, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11529:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4292, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11529:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4285, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "11513:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4293, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11513:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4294, + "nodeType": "ExpressionStatement", + "src": "11513:77:16" + } + ] + }, + "id": 4296, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11455:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4283, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4278, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11473:2:16", + "nodeType": "VariableDeclaration", + "scope": 4296, + "src": "11459:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4277, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11459:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4280, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11482:2:16", + "nodeType": "VariableDeclaration", + "scope": 4296, + "src": "11477:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4279, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11477:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4282, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11491:2:16", + "nodeType": "VariableDeclaration", + "scope": 4296, + "src": "11486:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4281, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11486:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "11458:36:16" + }, + "returnParameters": { + "id": 4284, + "nodeType": "ParameterList", + "parameters": [], + "src": "11509:0:16" + }, + "scope": 10925, + "src": "11446:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4315, + "nodeType": "Block", + "src": "11663:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c6164647265737329", + "id": 4308, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11707:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_932bbb385d479707ff387e3bb2d8968a7b4115e938510c531aa15b50507fc27f", + "typeString": "literal_string \"log(string,bool,address)\"" + }, + "value": "log(string,bool,address)" + }, + { + "id": 4309, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4298, + "src": "11735:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4310, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4300, + "src": "11739:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4311, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4302, + "src": "11743:2:16", + "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": 4306, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11683:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4307, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11683:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4312, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11683:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4305, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "11667:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4313, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11667:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4314, + "nodeType": "ExpressionStatement", + "src": "11667:80:16" + } + ] + }, + "id": 4316, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11606:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4303, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4298, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11624:2:16", + "nodeType": "VariableDeclaration", + "scope": 4316, + "src": "11610:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4297, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11610:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4300, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11633:2:16", + "nodeType": "VariableDeclaration", + "scope": 4316, + "src": "11628:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4299, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "11628:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4302, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11645:2:16", + "nodeType": "VariableDeclaration", + "scope": 4316, + "src": "11637:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4301, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11637:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "11609:39:16" + }, + "returnParameters": { + "id": 4304, + "nodeType": "ParameterList", + "parameters": [], + "src": "11663:0:16" + }, + "scope": 10925, + "src": "11597:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4335, + "nodeType": "Block", + "src": "11820:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e7429", + "id": 4328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "11864:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_07c81217b9c48682941345dce61bbd916a12dd883642c9077891090a71c93a13", + "typeString": "literal_string \"log(string,address,uint)\"" + }, + "value": "log(string,address,uint)" + }, + { + "id": 4329, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4318, + "src": "11892:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4330, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4320, + "src": "11896:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4331, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4322, + "src": "11900:2:16", + "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": 4326, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "11840:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "11840:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11840:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4325, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "11824:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11824:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4334, + "nodeType": "ExpressionStatement", + "src": "11824:80:16" + } + ] + }, + "id": 4336, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11763:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4318, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11781:2:16", + "nodeType": "VariableDeclaration", + "scope": 4336, + "src": "11767:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4317, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11767:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4320, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11793:2:16", + "nodeType": "VariableDeclaration", + "scope": 4336, + "src": "11785:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4319, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11785:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4322, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11802:2:16", + "nodeType": "VariableDeclaration", + "scope": 4336, + "src": "11797:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4321, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "11797:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "11766:39:16" + }, + "returnParameters": { + "id": 4324, + "nodeType": "ParameterList", + "parameters": [], + "src": "11820:0:16" + }, + "scope": 10925, + "src": "11754:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4355, + "nodeType": "Block", + "src": "11986:90:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e6729", + "id": 4348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12030:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0e9ad4f87059a51cce5555e129ca819f7e5d52e9c65a4e175882207ee47d634", + "typeString": "literal_string \"log(string,address,string)\"" + }, + "value": "log(string,address,string)" + }, + { + "id": 4349, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4338, + "src": "12060:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4350, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4340, + "src": "12064:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4351, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4342, + "src": "12068:2:16", + "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": 4346, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12006:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4347, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12006:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4352, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12006:65:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4345, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "11990:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4353, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "11990:82:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4354, + "nodeType": "ExpressionStatement", + "src": "11990:82:16" + } + ] + }, + "id": 4356, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "11920:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4343, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4338, + "mutability": "mutable", + "name": "p0", + "nameLocation": "11938:2:16", + "nodeType": "VariableDeclaration", + "scope": 4356, + "src": "11924:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4337, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11924:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4340, + "mutability": "mutable", + "name": "p1", + "nameLocation": "11950:2:16", + "nodeType": "VariableDeclaration", + "scope": 4356, + "src": "11942:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4339, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "11942:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4342, + "mutability": "mutable", + "name": "p2", + "nameLocation": "11968:2:16", + "nodeType": "VariableDeclaration", + "scope": 4356, + "src": "11954:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4341, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "11954:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "11923:48:16" + }, + "returnParameters": { + "id": 4344, + "nodeType": "ParameterList", + "parameters": [], + "src": "11986:0:16" + }, + "scope": 10925, + "src": "11911:165:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4375, + "nodeType": "Block", + "src": "12145:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c29", + "id": 4368, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12189:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c91d5ed4480e0b3323f998bcee9594aa98173c7324b015a4713a7c8429afd0b8", + "typeString": "literal_string \"log(string,address,bool)\"" + }, + "value": "log(string,address,bool)" + }, + { + "id": 4369, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4358, + "src": "12217:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4370, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4360, + "src": "12221:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4371, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4362, + "src": "12225:2:16", + "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": 4366, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12165:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4367, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12165:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4372, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12165:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4365, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "12149:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4373, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12149:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4374, + "nodeType": "ExpressionStatement", + "src": "12149:80:16" + } + ] + }, + "id": 4376, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12088:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4363, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4358, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12106:2:16", + "nodeType": "VariableDeclaration", + "scope": 4376, + "src": "12092:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4357, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12092:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4360, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12118:2:16", + "nodeType": "VariableDeclaration", + "scope": 4376, + "src": "12110:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4359, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12110:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4362, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12127:2:16", + "nodeType": "VariableDeclaration", + "scope": 4376, + "src": "12122:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4361, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12122:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12091:39:16" + }, + "returnParameters": { + "id": 4364, + "nodeType": "ParameterList", + "parameters": [], + "src": "12145:0:16" + }, + "scope": 10925, + "src": "12079:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4395, + "nodeType": "Block", + "src": "12305:91:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c6164647265737329", + "id": 4388, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12349:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fcec75e0902c9d61eded5d9f2eed16d5b0f2cd255fe6fa77733f59e1063823e8", + "typeString": "literal_string \"log(string,address,address)\"" + }, + "value": "log(string,address,address)" + }, + { + "id": 4389, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4378, + "src": "12380:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4390, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4380, + "src": "12384:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4391, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4382, + "src": "12388:2:16", + "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": 4386, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12325:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4387, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12325:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12325:66:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4385, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "12309:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4393, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12309:83:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4394, + "nodeType": "ExpressionStatement", + "src": "12309:83:16" + } + ] + }, + "id": 4396, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12245:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4383, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4378, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12263:2:16", + "nodeType": "VariableDeclaration", + "scope": 4396, + "src": "12249:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4377, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12249:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4380, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12275:2:16", + "nodeType": "VariableDeclaration", + "scope": 4396, + "src": "12267:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4379, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12267:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4382, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12287:2:16", + "nodeType": "VariableDeclaration", + "scope": 4396, + "src": "12279:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4381, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12279:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12248:42:16" + }, + "returnParameters": { + "id": 4384, + "nodeType": "ParameterList", + "parameters": [], + "src": "12305:0:16" + }, + "scope": 10925, + "src": "12236:160:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4415, + "nodeType": "Block", + "src": "12453:83:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c75696e7429", + "id": 4408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12497:21:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b5c03e061c862e366b964ce1ef4845511d610b73a90137eb2b2afa3099b1a4e", + "typeString": "literal_string \"log(bool,uint,uint)\"" + }, + "value": "log(bool,uint,uint)" + }, + { + "id": 4409, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4398, + "src": "12520:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4410, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4400, + "src": "12524:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4411, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4402, + "src": "12528:2:16", + "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": 4406, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12473:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12473:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12473:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4405, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "12457:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12457:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4414, + "nodeType": "ExpressionStatement", + "src": "12457:75:16" + } + ] + }, + "id": 4416, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12408:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4398, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12417:2:16", + "nodeType": "VariableDeclaration", + "scope": 4416, + "src": "12412:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4397, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12412:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4400, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12426:2:16", + "nodeType": "VariableDeclaration", + "scope": 4416, + "src": "12421:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4399, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12421:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4402, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12435:2:16", + "nodeType": "VariableDeclaration", + "scope": 4416, + "src": "12430:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4401, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12430:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12411:27:16" + }, + "returnParameters": { + "id": 4404, + "nodeType": "ParameterList", + "parameters": [], + "src": "12453:0:16" + }, + "scope": 10925, + "src": "12399:137:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4435, + "nodeType": "Block", + "src": "12602:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e6729", + "id": 4428, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12646:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c8397eb0de34bc3ec2853d625c1649c0c0abb20941c30ba650cc738adade018f", + "typeString": "literal_string \"log(bool,uint,string)\"" + }, + "value": "log(bool,uint,string)" + }, + { + "id": 4429, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4418, + "src": "12671:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4430, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4420, + "src": "12675:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4431, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4422, + "src": "12679:2:16", + "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": 4426, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12622:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4427, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12622:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4432, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12622:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4425, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "12606:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4433, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12606:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4434, + "nodeType": "ExpressionStatement", + "src": "12606:77:16" + } + ] + }, + "id": 4436, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12548:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4423, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4418, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12557:2:16", + "nodeType": "VariableDeclaration", + "scope": 4436, + "src": "12552:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4417, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12552:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4420, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12566:2:16", + "nodeType": "VariableDeclaration", + "scope": 4436, + "src": "12561:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4419, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12561:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4422, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12584:2:16", + "nodeType": "VariableDeclaration", + "scope": 4436, + "src": "12570:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4421, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12570:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "12551:36:16" + }, + "returnParameters": { + "id": 4424, + "nodeType": "ParameterList", + "parameters": [], + "src": "12602:0:16" + }, + "scope": 10925, + "src": "12539:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4455, + "nodeType": "Block", + "src": "12744:83:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c29", + "id": 4448, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12788:21:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1badc9eb6813ec769c33a3918f278565b7e2e9ed34d2ae2d50d951cc0f602ae0", + "typeString": "literal_string \"log(bool,uint,bool)\"" + }, + "value": "log(bool,uint,bool)" + }, + { + "id": 4449, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4438, + "src": "12811:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4450, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4440, + "src": "12815:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4451, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4442, + "src": "12819:2:16", + "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": 4446, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12764:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4447, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12764:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4452, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12764:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4445, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "12748:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12748:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4454, + "nodeType": "ExpressionStatement", + "src": "12748:75:16" + } + ] + }, + "id": 4456, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12699:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4443, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4438, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12708:2:16", + "nodeType": "VariableDeclaration", + "scope": 4456, + "src": "12703:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4437, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12703:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4440, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12717:2:16", + "nodeType": "VariableDeclaration", + "scope": 4456, + "src": "12712:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4439, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12712:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4442, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12726:2:16", + "nodeType": "VariableDeclaration", + "scope": 4456, + "src": "12721:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4441, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12721:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "12702:27:16" + }, + "returnParameters": { + "id": 4444, + "nodeType": "ParameterList", + "parameters": [], + "src": "12744:0:16" + }, + "scope": 10925, + "src": "12690:137:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4475, + "nodeType": "Block", + "src": "12887:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c6164647265737329", + "id": 4468, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "12931:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c4d23507f52009aec241457bf26dc51305bd2896aa08c5b47f04709554b39440", + "typeString": "literal_string \"log(bool,uint,address)\"" + }, + "value": "log(bool,uint,address)" + }, + { + "id": 4469, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4458, + "src": "12957:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4470, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4460, + "src": "12961:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4471, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4462, + "src": "12965:2:16", + "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": 4466, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "12907:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4467, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "12907:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12907:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4465, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "12891:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4473, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "12891:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4474, + "nodeType": "ExpressionStatement", + "src": "12891:78:16" + } + ] + }, + "id": 4476, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12839:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4463, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4458, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12848:2:16", + "nodeType": "VariableDeclaration", + "scope": 4476, + "src": "12843:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4457, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12843:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4460, + "mutability": "mutable", + "name": "p1", + "nameLocation": "12857:2:16", + "nodeType": "VariableDeclaration", + "scope": 4476, + "src": "12852:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4459, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "12852:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4462, + "mutability": "mutable", + "name": "p2", + "nameLocation": "12869:2:16", + "nodeType": "VariableDeclaration", + "scope": 4476, + "src": "12861:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4461, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "12861:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "12842:30:16" + }, + "returnParameters": { + "id": 4464, + "nodeType": "ParameterList", + "parameters": [], + "src": "12887:0:16" + }, + "scope": 10925, + "src": "12830:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4495, + "nodeType": "Block", + "src": "13039:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e7429", + "id": 4488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13083:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c0382aac3e9b237c9c8f246cdb8152d44351aaafa72d99e3640be65f754ac807", + "typeString": "literal_string \"log(bool,string,uint)\"" + }, + "value": "log(bool,string,uint)" + }, + { + "id": 4489, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4478, + "src": "13108:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4490, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4480, + "src": "13112:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4491, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4482, + "src": "13116:2:16", + "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": 4486, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13059:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13059:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13059:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4485, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "13043:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13043:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4494, + "nodeType": "ExpressionStatement", + "src": "13043:77:16" + } + ] + }, + "id": 4496, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "12985:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4478, + "mutability": "mutable", + "name": "p0", + "nameLocation": "12994:2:16", + "nodeType": "VariableDeclaration", + "scope": 4496, + "src": "12989:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4477, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "12989:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4480, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13012:2:16", + "nodeType": "VariableDeclaration", + "scope": 4496, + "src": "12998:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4479, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "12998:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4482, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13021:2:16", + "nodeType": "VariableDeclaration", + "scope": 4496, + "src": "13016:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4481, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13016:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "12988:36:16" + }, + "returnParameters": { + "id": 4484, + "nodeType": "ParameterList", + "parameters": [], + "src": "13039:0:16" + }, + "scope": 10925, + "src": "12976:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4515, + "nodeType": "Block", + "src": "13199:87:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e6729", + "id": 4508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13243:25:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b076847f8b4aee0cfbf46ec501532f9f3c85a581aff135287ff8e917c0a39102", + "typeString": "literal_string \"log(bool,string,string)\"" + }, + "value": "log(bool,string,string)" + }, + { + "id": 4509, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4498, + "src": "13270:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4510, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4500, + "src": "13274:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4511, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4502, + "src": "13278:2:16", + "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": 4506, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13219:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4507, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13219:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4512, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13219:62:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4505, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "13203:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4513, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13203:79:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4514, + "nodeType": "ExpressionStatement", + "src": "13203:79:16" + } + ] + }, + "id": 4516, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13136:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4503, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4498, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13145:2:16", + "nodeType": "VariableDeclaration", + "scope": 4516, + "src": "13140:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4497, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13140:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4500, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13163:2:16", + "nodeType": "VariableDeclaration", + "scope": 4516, + "src": "13149:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4499, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13149:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4502, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13181:2:16", + "nodeType": "VariableDeclaration", + "scope": 4516, + "src": "13167:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4501, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13167:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13139:45:16" + }, + "returnParameters": { + "id": 4504, + "nodeType": "ParameterList", + "parameters": [], + "src": "13199:0:16" + }, + "scope": 10925, + "src": "13127:159:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4535, + "nodeType": "Block", + "src": "13352:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c29", + "id": 4528, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13396:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dbb4c2477dacc98e0e5b96fd6ca6bf0ae1f82dd042439d9f53f8d963bef43eaa", + "typeString": "literal_string \"log(bool,string,bool)\"" + }, + "value": "log(bool,string,bool)" + }, + { + "id": 4529, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4518, + "src": "13421:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4530, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4520, + "src": "13425:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4531, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4522, + "src": "13429:2:16", + "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": 4526, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13372:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4527, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13372:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4532, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13372:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4525, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "13356:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4533, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13356:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4534, + "nodeType": "ExpressionStatement", + "src": "13356:77:16" + } + ] + }, + "id": 4536, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13298:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4523, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4518, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13307:2:16", + "nodeType": "VariableDeclaration", + "scope": 4536, + "src": "13302:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4517, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13302:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4520, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13325:2:16", + "nodeType": "VariableDeclaration", + "scope": 4536, + "src": "13311:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4519, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13311:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4522, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13334:2:16", + "nodeType": "VariableDeclaration", + "scope": 4536, + "src": "13329:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4521, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13329:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13301:36:16" + }, + "returnParameters": { + "id": 4524, + "nodeType": "ParameterList", + "parameters": [], + "src": "13352:0:16" + }, + "scope": 10925, + "src": "13289:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4555, + "nodeType": "Block", + "src": "13506:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c6164647265737329", + "id": 4548, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13550:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9591b953c9b1d0af9d1e3bc0f6ea9aa5b0e1af8c702f85b36e21b9b2d7e4da79", + "typeString": "literal_string \"log(bool,string,address)\"" + }, + "value": "log(bool,string,address)" + }, + { + "id": 4549, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4538, + "src": "13578:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4550, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4540, + "src": "13582:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4551, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4542, + "src": "13586:2:16", + "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": 4546, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13526:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13526:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13526:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4545, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "13510:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13510:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4554, + "nodeType": "ExpressionStatement", + "src": "13510:80:16" + } + ] + }, + "id": 4556, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13449:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4543, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4538, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13458:2:16", + "nodeType": "VariableDeclaration", + "scope": 4556, + "src": "13453:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4537, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13453:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4540, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13476:2:16", + "nodeType": "VariableDeclaration", + "scope": 4556, + "src": "13462:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4539, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13462:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4542, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13488:2:16", + "nodeType": "VariableDeclaration", + "scope": 4556, + "src": "13480:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4541, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "13480:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "13452:39:16" + }, + "returnParameters": { + "id": 4544, + "nodeType": "ParameterList", + "parameters": [], + "src": "13506:0:16" + }, + "scope": 10925, + "src": "13440:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4575, + "nodeType": "Block", + "src": "13651:83:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e7429", + "id": 4568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13695:21:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b01365bbae43503e22260bcc9cf23ffef37ffc9f6c1580737fe2489955065877", + "typeString": "literal_string \"log(bool,bool,uint)\"" + }, + "value": "log(bool,bool,uint)" + }, + { + "id": 4569, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4558, + "src": "13718:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4570, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4560, + "src": "13722:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4571, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4562, + "src": "13726:2:16", + "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": 4566, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13671:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13671:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13671:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4565, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "13655:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13655:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4574, + "nodeType": "ExpressionStatement", + "src": "13655:75:16" + } + ] + }, + "id": 4576, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13606:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4558, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13615:2:16", + "nodeType": "VariableDeclaration", + "scope": 4576, + "src": "13610:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4557, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13610:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4560, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13624:2:16", + "nodeType": "VariableDeclaration", + "scope": 4576, + "src": "13619:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4559, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13619:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4562, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13633:2:16", + "nodeType": "VariableDeclaration", + "scope": 4576, + "src": "13628:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4561, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "13628:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "13609:27:16" + }, + "returnParameters": { + "id": 4564, + "nodeType": "ParameterList", + "parameters": [], + "src": "13651:0:16" + }, + "scope": 10925, + "src": "13597:137:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4595, + "nodeType": "Block", + "src": "13800:85:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e6729", + "id": 4588, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13844:23:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2555fa465662416fc443b21c515f245dc550a66f7c658773f7bd7ad91c82f2cc", + "typeString": "literal_string \"log(bool,bool,string)\"" + }, + "value": "log(bool,bool,string)" + }, + { + "id": 4589, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4578, + "src": "13869:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4590, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4580, + "src": "13873:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4591, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4582, + "src": "13877:2:16", + "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": 4586, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13820:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4587, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13820:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4592, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13820:60:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4585, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "13804:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4593, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13804:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4594, + "nodeType": "ExpressionStatement", + "src": "13804:77:16" + } + ] + }, + "id": 4596, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13746:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4583, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4578, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13755:2:16", + "nodeType": "VariableDeclaration", + "scope": 4596, + "src": "13750:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4577, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13750:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4580, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13764:2:16", + "nodeType": "VariableDeclaration", + "scope": 4596, + "src": "13759:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4579, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13759:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4582, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13782:2:16", + "nodeType": "VariableDeclaration", + "scope": 4596, + "src": "13768:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4581, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "13768:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "13749:36:16" + }, + "returnParameters": { + "id": 4584, + "nodeType": "ParameterList", + "parameters": [], + "src": "13800:0:16" + }, + "scope": 10925, + "src": "13737:148:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4615, + "nodeType": "Block", + "src": "13942:83:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c29", + "id": 4608, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "13986:21:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50709698278bb02f656e4ac53a2ae8ef0ec4064d340360a5fa4d933e9a742590", + "typeString": "literal_string \"log(bool,bool,bool)\"" + }, + "value": "log(bool,bool,bool)" + }, + { + "id": 4609, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4598, + "src": "14009:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4610, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4600, + "src": "14013:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4611, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4602, + "src": "14017:2:16", + "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": 4606, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "13962:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4607, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "13962:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13962:58:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4605, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "13946:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4613, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "13946:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4614, + "nodeType": "ExpressionStatement", + "src": "13946:75:16" + } + ] + }, + "id": 4616, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "13897:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4598, + "mutability": "mutable", + "name": "p0", + "nameLocation": "13906:2:16", + "nodeType": "VariableDeclaration", + "scope": 4616, + "src": "13901:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4597, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13901:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4600, + "mutability": "mutable", + "name": "p1", + "nameLocation": "13915:2:16", + "nodeType": "VariableDeclaration", + "scope": 4616, + "src": "13910:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4599, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13910:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4602, + "mutability": "mutable", + "name": "p2", + "nameLocation": "13924:2:16", + "nodeType": "VariableDeclaration", + "scope": 4616, + "src": "13919:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4601, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "13919:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "13900:27:16" + }, + "returnParameters": { + "id": 4604, + "nodeType": "ParameterList", + "parameters": [], + "src": "13942:0:16" + }, + "scope": 10925, + "src": "13888:137:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4635, + "nodeType": "Block", + "src": "14085:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c6164647265737329", + "id": 4628, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14129:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1078f68da6ddbbe80f829fe8d54d1f2c6347e1ee4ec5a2a7a3a330ada9eccf81", + "typeString": "literal_string \"log(bool,bool,address)\"" + }, + "value": "log(bool,bool,address)" + }, + { + "id": 4629, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4618, + "src": "14155:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4630, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4620, + "src": "14159:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4631, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4622, + "src": "14163:2:16", + "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": 4626, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14105:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14105:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14105:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4625, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "14089:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14089:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4634, + "nodeType": "ExpressionStatement", + "src": "14089:78:16" + } + ] + }, + "id": 4636, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14037:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4623, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4618, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14046:2:16", + "nodeType": "VariableDeclaration", + "scope": 4636, + "src": "14041:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4617, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14041:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4620, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14055:2:16", + "nodeType": "VariableDeclaration", + "scope": 4636, + "src": "14050:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4619, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14050:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4622, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14067:2:16", + "nodeType": "VariableDeclaration", + "scope": 4636, + "src": "14059:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4621, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14059:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14040:30:16" + }, + "returnParameters": { + "id": 4624, + "nodeType": "ParameterList", + "parameters": [], + "src": "14085:0:16" + }, + "scope": 10925, + "src": "14028:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4655, + "nodeType": "Block", + "src": "14231:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e7429", + "id": 4648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14275:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb704bafbd89369a907d48394b6acdacf482ae42cc2aaedd1cc37e89b4054b3d", + "typeString": "literal_string \"log(bool,address,uint)\"" + }, + "value": "log(bool,address,uint)" + }, + { + "id": 4649, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4638, + "src": "14301:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4650, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4640, + "src": "14305:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4651, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4642, + "src": "14309:2:16", + "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": 4646, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14251:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14251:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4652, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14251:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4645, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "14235:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14235:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4654, + "nodeType": "ExpressionStatement", + "src": "14235:78:16" + } + ] + }, + "id": 4656, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14183:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4638, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14192:2:16", + "nodeType": "VariableDeclaration", + "scope": 4656, + "src": "14187:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4637, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14187:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4640, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14204:2:16", + "nodeType": "VariableDeclaration", + "scope": 4656, + "src": "14196:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4639, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14196:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4642, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14213:2:16", + "nodeType": "VariableDeclaration", + "scope": 4656, + "src": "14208:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4641, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14208:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14186:30:16" + }, + "returnParameters": { + "id": 4644, + "nodeType": "ParameterList", + "parameters": [], + "src": "14231:0:16" + }, + "scope": 10925, + "src": "14174:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4675, + "nodeType": "Block", + "src": "14386:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e6729", + "id": 4668, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14430:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de9a927090b15ed84eefc0c471675a23ce67fd75011b1652fe17ca2dd0dcd06d", + "typeString": "literal_string \"log(bool,address,string)\"" + }, + "value": "log(bool,address,string)" + }, + { + "id": 4669, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4658, + "src": "14458:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4670, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4660, + "src": "14462:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4671, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4662, + "src": "14466:2:16", + "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": 4666, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14406:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4667, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14406:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4672, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14406:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4665, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "14390:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4673, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14390:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4674, + "nodeType": "ExpressionStatement", + "src": "14390:80:16" + } + ] + }, + "id": 4676, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14329:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4663, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4658, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14338:2:16", + "nodeType": "VariableDeclaration", + "scope": 4676, + "src": "14333:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4657, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14333:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4660, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14350:2:16", + "nodeType": "VariableDeclaration", + "scope": 4676, + "src": "14342:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4659, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14342:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4662, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14368:2:16", + "nodeType": "VariableDeclaration", + "scope": 4676, + "src": "14354:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4661, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14354:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14332:39:16" + }, + "returnParameters": { + "id": 4664, + "nodeType": "ParameterList", + "parameters": [], + "src": "14386:0:16" + }, + "scope": 10925, + "src": "14320:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4695, + "nodeType": "Block", + "src": "14534:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c29", + "id": 4688, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14578:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_18c9c746c9d0e38e4dc234ee76e678bbaa4e473eca3dce0969637d7f01e4a908", + "typeString": "literal_string \"log(bool,address,bool)\"" + }, + "value": "log(bool,address,bool)" + }, + { + "id": 4689, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4678, + "src": "14604:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4690, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4680, + "src": "14608:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4691, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4682, + "src": "14612:2:16", + "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": 4686, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14554:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4687, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14554:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4692, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14554:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4685, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "14538:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4693, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14538:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4694, + "nodeType": "ExpressionStatement", + "src": "14538:78:16" + } + ] + }, + "id": 4696, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14486:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4683, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4678, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14495:2:16", + "nodeType": "VariableDeclaration", + "scope": 4696, + "src": "14490:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4677, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14490:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4680, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14507:2:16", + "nodeType": "VariableDeclaration", + "scope": 4696, + "src": "14499:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4679, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14499:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4682, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14516:2:16", + "nodeType": "VariableDeclaration", + "scope": 4696, + "src": "14511:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4681, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14511:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "14489:30:16" + }, + "returnParameters": { + "id": 4684, + "nodeType": "ParameterList", + "parameters": [], + "src": "14534:0:16" + }, + "scope": 10925, + "src": "14477:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4715, + "nodeType": "Block", + "src": "14683:89:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c6164647265737329", + "id": 4708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14727:27:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d2763667477f08a6a3f8ce84e1cc1aeb5e67ee2996f5f36e8939da2b8b8f0265", + "typeString": "literal_string \"log(bool,address,address)\"" + }, + "value": "log(bool,address,address)" + }, + { + "id": 4709, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4698, + "src": "14756:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4710, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4700, + "src": "14760:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4711, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4702, + "src": "14764:2:16", + "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": 4706, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14703:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14703:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14703:64:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4705, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "14687:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14687:81:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4714, + "nodeType": "ExpressionStatement", + "src": "14687:81:16" + } + ] + }, + "id": 4716, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14632:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4698, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14641:2:16", + "nodeType": "VariableDeclaration", + "scope": 4716, + "src": "14636:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4697, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "14636:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4700, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14653:2:16", + "nodeType": "VariableDeclaration", + "scope": 4716, + "src": "14645:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4699, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14645:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4702, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14665:2:16", + "nodeType": "VariableDeclaration", + "scope": 4716, + "src": "14657:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4701, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14657:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "14635:33:16" + }, + "returnParameters": { + "id": 4704, + "nodeType": "ParameterList", + "parameters": [], + "src": "14683:0:16" + }, + "scope": 10925, + "src": "14623:149:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4735, + "nodeType": "Block", + "src": "14832:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c75696e7429", + "id": 4728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "14876:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8786135eae1a8e4736031518026bd3bd30886c3cc8d3e8bdedd6faea426de5ea", + "typeString": "literal_string \"log(address,uint,uint)\"" + }, + "value": "log(address,uint,uint)" + }, + { + "id": 4729, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4718, + "src": "14902:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4730, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4720, + "src": "14906:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4731, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4722, + "src": "14910:2:16", + "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": 4726, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "14852:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4727, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "14852:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4732, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14852:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4725, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "14836:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4733, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14836:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4734, + "nodeType": "ExpressionStatement", + "src": "14836:78:16" + } + ] + }, + "id": 4736, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14784:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4723, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4718, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14796:2:16", + "nodeType": "VariableDeclaration", + "scope": 4736, + "src": "14788:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4717, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14788:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4720, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14805:2:16", + "nodeType": "VariableDeclaration", + "scope": 4736, + "src": "14800:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4719, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14800:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4722, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14814:2:16", + "nodeType": "VariableDeclaration", + "scope": 4736, + "src": "14809:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4721, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14809:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "14787:30:16" + }, + "returnParameters": { + "id": 4724, + "nodeType": "ParameterList", + "parameters": [], + "src": "14832:0:16" + }, + "scope": 10925, + "src": "14775:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4755, + "nodeType": "Block", + "src": "14987:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c737472696e6729", + "id": 4748, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15031:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_baf968498a2094de432bd16841b992056c14db9f313a6b44c3156c2b5f1dc2b4", + "typeString": "literal_string \"log(address,uint,string)\"" + }, + "value": "log(address,uint,string)" + }, + { + "id": 4749, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4738, + "src": "15059:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4750, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4740, + "src": "15063:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4751, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4742, + "src": "15067:2:16", + "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": 4746, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15007:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4747, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15007:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4752, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15007:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4745, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "14991:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4753, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "14991:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4754, + "nodeType": "ExpressionStatement", + "src": "14991:80:16" + } + ] + }, + "id": 4756, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "14930:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4738, + "mutability": "mutable", + "name": "p0", + "nameLocation": "14942:2:16", + "nodeType": "VariableDeclaration", + "scope": 4756, + "src": "14934:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4737, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "14934:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4740, + "mutability": "mutable", + "name": "p1", + "nameLocation": "14951:2:16", + "nodeType": "VariableDeclaration", + "scope": 4756, + "src": "14946:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4739, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "14946:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4742, + "mutability": "mutable", + "name": "p2", + "nameLocation": "14969:2:16", + "nodeType": "VariableDeclaration", + "scope": 4756, + "src": "14955:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4741, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "14955:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "14933:39:16" + }, + "returnParameters": { + "id": 4744, + "nodeType": "ParameterList", + "parameters": [], + "src": "14987:0:16" + }, + "scope": 10925, + "src": "14921:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4775, + "nodeType": "Block", + "src": "15135:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c29", + "id": 4768, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15179:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e54ae1445cd51f09e801fc5885e33c709102997417d3d9b6f543f7724468b4e4", + "typeString": "literal_string \"log(address,uint,bool)\"" + }, + "value": "log(address,uint,bool)" + }, + { + "id": 4769, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4758, + "src": "15205:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4770, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4760, + "src": "15209:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4771, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4762, + "src": "15213:2:16", + "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": 4766, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15155:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4767, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15155:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4772, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15155:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4765, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "15139:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4773, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15139:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4774, + "nodeType": "ExpressionStatement", + "src": "15139:78:16" + } + ] + }, + "id": 4776, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15087:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4763, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4758, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15099:2:16", + "nodeType": "VariableDeclaration", + "scope": 4776, + "src": "15091:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4757, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15091:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4760, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15108:2:16", + "nodeType": "VariableDeclaration", + "scope": 4776, + "src": "15103:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4759, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15103:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4762, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15117:2:16", + "nodeType": "VariableDeclaration", + "scope": 4776, + "src": "15112:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4761, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15112:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15090:30:16" + }, + "returnParameters": { + "id": 4764, + "nodeType": "ParameterList", + "parameters": [], + "src": "15135:0:16" + }, + "scope": 10925, + "src": "15078:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4795, + "nodeType": "Block", + "src": "15284:89:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c6164647265737329", + "id": 4788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15328:27:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_97eca3948a309251ff02cc4a3cb96f84ac4b6b4bdc56e86c9f0131c9b70c6259", + "typeString": "literal_string \"log(address,uint,address)\"" + }, + "value": "log(address,uint,address)" + }, + { + "id": 4789, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4778, + "src": "15357:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4790, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4780, + "src": "15361:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 4791, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4782, + "src": "15365:2:16", + "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": 4786, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15304:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15304:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15304:64:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4785, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "15288:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15288:81:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4794, + "nodeType": "ExpressionStatement", + "src": "15288:81:16" + } + ] + }, + "id": 4796, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15233:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4778, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15245:2:16", + "nodeType": "VariableDeclaration", + "scope": 4796, + "src": "15237:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4777, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15237:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4780, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15254:2:16", + "nodeType": "VariableDeclaration", + "scope": 4796, + "src": "15249:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4779, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15249:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4782, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15266:2:16", + "nodeType": "VariableDeclaration", + "scope": 4796, + "src": "15258:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4781, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15258:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "15236:33:16" + }, + "returnParameters": { + "id": 4784, + "nodeType": "ParameterList", + "parameters": [], + "src": "15284:0:16" + }, + "scope": 10925, + "src": "15224:149:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4815, + "nodeType": "Block", + "src": "15442:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e7429", + "id": 4808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15486:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1cdaf28a630ff01c83e1629295cea6793da60638603e831a5c07be53dbee3597", + "typeString": "literal_string \"log(address,string,uint)\"" + }, + "value": "log(address,string,uint)" + }, + { + "id": 4809, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4798, + "src": "15514:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4810, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4800, + "src": "15518:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4811, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4802, + "src": "15522:2:16", + "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": 4806, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15462:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4807, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15462:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4812, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15462:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4805, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "15446:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15446:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4814, + "nodeType": "ExpressionStatement", + "src": "15446:80:16" + } + ] + }, + "id": 4816, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15385:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4803, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4798, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15397:2:16", + "nodeType": "VariableDeclaration", + "scope": 4816, + "src": "15389:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4797, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15389:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4800, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15415:2:16", + "nodeType": "VariableDeclaration", + "scope": 4816, + "src": "15401:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4799, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15401:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4802, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15424:2:16", + "nodeType": "VariableDeclaration", + "scope": 4816, + "src": "15419:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4801, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "15419:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "15388:39:16" + }, + "returnParameters": { + "id": 4804, + "nodeType": "ParameterList", + "parameters": [], + "src": "15442:0:16" + }, + "scope": 10925, + "src": "15376:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4835, + "nodeType": "Block", + "src": "15608:90:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e6729", + "id": 4828, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15652:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb77226597c11cd0c52945168d7176a06b9af41edea6a51823db111f35573158", + "typeString": "literal_string \"log(address,string,string)\"" + }, + "value": "log(address,string,string)" + }, + { + "id": 4829, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4818, + "src": "15682:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4830, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4820, + "src": "15686:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4831, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4822, + "src": "15690:2:16", + "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": 4826, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15628:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4827, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15628:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4832, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15628:65:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4825, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "15612:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4833, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15612:82:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4834, + "nodeType": "ExpressionStatement", + "src": "15612:82:16" + } + ] + }, + "id": 4836, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15542:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4823, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4818, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15554:2:16", + "nodeType": "VariableDeclaration", + "scope": 4836, + "src": "15546:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15546:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4820, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15572:2:16", + "nodeType": "VariableDeclaration", + "scope": 4836, + "src": "15558:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4819, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15558:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4822, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15590:2:16", + "nodeType": "VariableDeclaration", + "scope": 4836, + "src": "15576:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4821, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15576:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "15545:48:16" + }, + "returnParameters": { + "id": 4824, + "nodeType": "ParameterList", + "parameters": [], + "src": "15608:0:16" + }, + "scope": 10925, + "src": "15533:165:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4855, + "nodeType": "Block", + "src": "15767:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c29", + "id": 4848, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15811:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf020fb14f49566c5748de1f455c699a10a4ed1d7cf32f9adb28d22878df1b96", + "typeString": "literal_string \"log(address,string,bool)\"" + }, + "value": "log(address,string,bool)" + }, + { + "id": 4849, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4838, + "src": "15839:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4850, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4840, + "src": "15843:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4851, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4842, + "src": "15847:2:16", + "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": 4846, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15787:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15787:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15787:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4845, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "15771:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4853, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15771:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4854, + "nodeType": "ExpressionStatement", + "src": "15771:80:16" + } + ] + }, + "id": 4856, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15710:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4843, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4838, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15722:2:16", + "nodeType": "VariableDeclaration", + "scope": 4856, + "src": "15714:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15714:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4840, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15740:2:16", + "nodeType": "VariableDeclaration", + "scope": 4856, + "src": "15726:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4839, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15726:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4842, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15749:2:16", + "nodeType": "VariableDeclaration", + "scope": 4856, + "src": "15744:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4841, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "15744:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "15713:39:16" + }, + "returnParameters": { + "id": 4844, + "nodeType": "ParameterList", + "parameters": [], + "src": "15767:0:16" + }, + "scope": 10925, + "src": "15701:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4875, + "nodeType": "Block", + "src": "15927:91:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c6164647265737329", + "id": 4868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "15971:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f08744e82875525f1ef885a48453f58e96cac98a5d32bd6d8c38e4977aede231", + "typeString": "literal_string \"log(address,string,address)\"" + }, + "value": "log(address,string,address)" + }, + { + "id": 4869, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4858, + "src": "16002:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4870, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4860, + "src": "16006:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 4871, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4862, + "src": "16010:2:16", + "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": 4866, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "15947:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "15947:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15947:66:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4865, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "15931:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "15931:83:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4874, + "nodeType": "ExpressionStatement", + "src": "15931:83:16" + } + ] + }, + "id": 4876, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "15867:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4858, + "mutability": "mutable", + "name": "p0", + "nameLocation": "15879:2:16", + "nodeType": "VariableDeclaration", + "scope": 4876, + "src": "15871:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4857, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15871:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4860, + "mutability": "mutable", + "name": "p1", + "nameLocation": "15897:2:16", + "nodeType": "VariableDeclaration", + "scope": 4876, + "src": "15883:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4859, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "15883:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4862, + "mutability": "mutable", + "name": "p2", + "nameLocation": "15909:2:16", + "nodeType": "VariableDeclaration", + "scope": 4876, + "src": "15901:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4861, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "15901:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "15870:42:16" + }, + "returnParameters": { + "id": 4864, + "nodeType": "ParameterList", + "parameters": [], + "src": "15927:0:16" + }, + "scope": 10925, + "src": "15858:160:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4895, + "nodeType": "Block", + "src": "16078:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e7429", + "id": 4888, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16122:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c468d157d9cb3bd4f3bc977d201b067de313f8e774b0377d5c5b2b5c9426095", + "typeString": "literal_string \"log(address,bool,uint)\"" + }, + "value": "log(address,bool,uint)" + }, + { + "id": 4889, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4878, + "src": "16148:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4890, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4880, + "src": "16152:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4891, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4882, + "src": "16156:2:16", + "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": 4886, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16098:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4887, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16098:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4892, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16098:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4885, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "16082:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4893, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16082:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4894, + "nodeType": "ExpressionStatement", + "src": "16082:78:16" + } + ] + }, + "id": 4896, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16030:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4883, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4878, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16042:2:16", + "nodeType": "VariableDeclaration", + "scope": 4896, + "src": "16034:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4877, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16034:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4880, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16051:2:16", + "nodeType": "VariableDeclaration", + "scope": 4896, + "src": "16046:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4879, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16046:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4882, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16060:2:16", + "nodeType": "VariableDeclaration", + "scope": 4896, + "src": "16055:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4881, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16055:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16033:30:16" + }, + "returnParameters": { + "id": 4884, + "nodeType": "ParameterList", + "parameters": [], + "src": "16078:0:16" + }, + "scope": 10925, + "src": "16021:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4915, + "nodeType": "Block", + "src": "16233:88:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e6729", + "id": 4908, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16277:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_212255cc5ff4a2d867f69451c60f51c24e41784276f4ceffe8ec3af322690750", + "typeString": "literal_string \"log(address,bool,string)\"" + }, + "value": "log(address,bool,string)" + }, + { + "id": 4909, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4898, + "src": "16305:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4910, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4900, + "src": "16309:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4911, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4902, + "src": "16313:2:16", + "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": 4906, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16253:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4907, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16253:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4912, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16253:63:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4905, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "16237:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4913, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16237:80:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4914, + "nodeType": "ExpressionStatement", + "src": "16237:80:16" + } + ] + }, + "id": 4916, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16176:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4903, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4898, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16188:2:16", + "nodeType": "VariableDeclaration", + "scope": 4916, + "src": "16180:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4897, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16180:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4900, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16197:2:16", + "nodeType": "VariableDeclaration", + "scope": 4916, + "src": "16192:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4899, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16192:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4902, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16215:2:16", + "nodeType": "VariableDeclaration", + "scope": 4916, + "src": "16201:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4901, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16201:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "16179:39:16" + }, + "returnParameters": { + "id": 4904, + "nodeType": "ParameterList", + "parameters": [], + "src": "16233:0:16" + }, + "scope": 10925, + "src": "16167:154:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4935, + "nodeType": "Block", + "src": "16381:86:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c29", + "id": 4928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16425:24:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb830c92a079b46f3abcb83e519f578cffe7387941b6885067265feec096d279", + "typeString": "literal_string \"log(address,bool,bool)\"" + }, + "value": "log(address,bool,bool)" + }, + { + "id": 4929, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4918, + "src": "16451:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4930, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4920, + "src": "16455:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4931, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4922, + "src": "16459:2:16", + "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": 4926, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16401:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4927, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16401:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16401:61:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4925, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "16385:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4933, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16385:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4934, + "nodeType": "ExpressionStatement", + "src": "16385:78:16" + } + ] + }, + "id": 4936, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16333:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4918, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16345:2:16", + "nodeType": "VariableDeclaration", + "scope": 4936, + "src": "16337:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4917, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16337:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4920, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16354:2:16", + "nodeType": "VariableDeclaration", + "scope": 4936, + "src": "16349:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4919, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16349:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4922, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16363:2:16", + "nodeType": "VariableDeclaration", + "scope": 4936, + "src": "16358:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4921, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16358:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16336:30:16" + }, + "returnParameters": { + "id": 4924, + "nodeType": "ParameterList", + "parameters": [], + "src": "16381:0:16" + }, + "scope": 10925, + "src": "16324:143:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4955, + "nodeType": "Block", + "src": "16530:89:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c6164647265737329", + "id": 4948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16574:27:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f11699ed537119f000a51ba9fbd5bb55b3990a1a718acbe99659bd1bc84dc18d", + "typeString": "literal_string \"log(address,bool,address)\"" + }, + "value": "log(address,bool,address)" + }, + { + "id": 4949, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4938, + "src": "16603:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4950, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4940, + "src": "16607:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 4951, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4942, + "src": "16611:2:16", + "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": 4946, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16550:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16550:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16550:64:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4945, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "16534:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16534:81:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4954, + "nodeType": "ExpressionStatement", + "src": "16534:81:16" + } + ] + }, + "id": 4956, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16479:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4938, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16491:2:16", + "nodeType": "VariableDeclaration", + "scope": 4956, + "src": "16483:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4937, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16483:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4940, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16500:2:16", + "nodeType": "VariableDeclaration", + "scope": 4956, + "src": "16495:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 4939, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16495:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4942, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16512:2:16", + "nodeType": "VariableDeclaration", + "scope": 4956, + "src": "16504:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4941, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16504:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "16482:33:16" + }, + "returnParameters": { + "id": 4944, + "nodeType": "ParameterList", + "parameters": [], + "src": "16530:0:16" + }, + "scope": 10925, + "src": "16470:149:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4975, + "nodeType": "Block", + "src": "16682:89:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e7429", + "id": 4968, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16726:27:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c366d7295b93bbfacc4df0ea28f0eef60efacfffd447f8f2823cbe5b2fedb07", + "typeString": "literal_string \"log(address,address,uint)\"" + }, + "value": "log(address,address,uint)" + }, + { + "id": 4969, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4958, + "src": "16755:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4970, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4960, + "src": "16759:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4971, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4962, + "src": "16763:2:16", + "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": 4966, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16702:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16702:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4972, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16702:64:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4965, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "16686:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4973, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16686:81:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4974, + "nodeType": "ExpressionStatement", + "src": "16686:81:16" + } + ] + }, + "id": 4976, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16631:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4963, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4958, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16643:2:16", + "nodeType": "VariableDeclaration", + "scope": 4976, + "src": "16635:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4957, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16635:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4960, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16655:2:16", + "nodeType": "VariableDeclaration", + "scope": 4976, + "src": "16647:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4959, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16647:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4962, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16664:2:16", + "nodeType": "VariableDeclaration", + "scope": 4976, + "src": "16659:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 4961, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "16659:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "16634:33:16" + }, + "returnParameters": { + "id": 4964, + "nodeType": "ParameterList", + "parameters": [], + "src": "16682:0:16" + }, + "scope": 10925, + "src": "16622:149:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 4995, + "nodeType": "Block", + "src": "16843:91:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e6729", + "id": 4988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "16887:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_007150be50a4671a6be318012e9cd2eabb1e1bc8869b45c34abbaa04d81c8eee", + "typeString": "literal_string \"log(address,address,string)\"" + }, + "value": "log(address,address,string)" + }, + { + "id": 4989, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4978, + "src": "16918:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4990, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4980, + "src": "16922:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 4991, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4982, + "src": "16926:2:16", + "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": 4986, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "16863:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 4987, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "16863:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 4992, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16863:66:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 4985, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "16847:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 4993, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "16847:83:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 4994, + "nodeType": "ExpressionStatement", + "src": "16847:83:16" + } + ] + }, + "id": 4996, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16783:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 4983, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4978, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16795:2:16", + "nodeType": "VariableDeclaration", + "scope": 4996, + "src": "16787:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4977, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16787:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4980, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16807:2:16", + "nodeType": "VariableDeclaration", + "scope": 4996, + "src": "16799:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4979, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16799:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 4982, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16825:2:16", + "nodeType": "VariableDeclaration", + "scope": 4996, + "src": "16811:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 4981, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "16811:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "16786:42:16" + }, + "returnParameters": { + "id": 4984, + "nodeType": "ParameterList", + "parameters": [], + "src": "16843:0:16" + }, + "scope": 10925, + "src": "16774:160:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5015, + "nodeType": "Block", + "src": "16997:89:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c29", + "id": 5008, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17041:27:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f2a6628622808c8bbef4f3e513ab11e708a8f5073988f2f7988e111aa26586dc", + "typeString": "literal_string \"log(address,address,bool)\"" + }, + "value": "log(address,address,bool)" + }, + { + "id": 5009, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 4998, + "src": "17070:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5010, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5000, + "src": "17074:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5011, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5002, + "src": "17078:2:16", + "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": 5006, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17017:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5007, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17017:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17017:64:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5005, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "17001:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17001:81:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5014, + "nodeType": "ExpressionStatement", + "src": "17001:81:16" + } + ] + }, + "id": 5016, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "16946:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5003, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 4998, + "mutability": "mutable", + "name": "p0", + "nameLocation": "16958:2:16", + "nodeType": "VariableDeclaration", + "scope": 5016, + "src": "16950:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4997, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16950:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5000, + "mutability": "mutable", + "name": "p1", + "nameLocation": "16970:2:16", + "nodeType": "VariableDeclaration", + "scope": 5016, + "src": "16962:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 4999, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "16962:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5002, + "mutability": "mutable", + "name": "p2", + "nameLocation": "16979:2:16", + "nodeType": "VariableDeclaration", + "scope": 5016, + "src": "16974:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5001, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "16974:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "16949:33:16" + }, + "returnParameters": { + "id": 5004, + "nodeType": "ParameterList", + "parameters": [], + "src": "16997:0:16" + }, + "scope": 10925, + "src": "16937:149:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5035, + "nodeType": "Block", + "src": "17152:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c6164647265737329", + "id": 5028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17196:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_018c84c25fb680b5bcd4e1ab1848682497c9dd3b635564a91c36ce3d1414c830", + "typeString": "literal_string \"log(address,address,address)\"" + }, + "value": "log(address,address,address)" + }, + { + "id": 5029, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5018, + "src": "17228:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5030, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5020, + "src": "17232:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5031, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5022, + "src": "17236:2:16", + "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": 5026, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17172:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5027, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17172:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5032, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17172:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5025, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "17156:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17156:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5034, + "nodeType": "ExpressionStatement", + "src": "17156:84:16" + } + ] + }, + "id": 5036, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17098:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5018, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17110:2:16", + "nodeType": "VariableDeclaration", + "scope": 5036, + "src": "17102:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5017, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17102:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5020, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17122:2:16", + "nodeType": "VariableDeclaration", + "scope": 5036, + "src": "17114:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5019, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17114:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5022, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17134:2:16", + "nodeType": "VariableDeclaration", + "scope": 5036, + "src": "17126:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5021, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17126:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "17101:36:16" + }, + "returnParameters": { + "id": 5024, + "nodeType": "ParameterList", + "parameters": [], + "src": "17152:0:16" + }, + "scope": 10925, + "src": "17089:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5058, + "nodeType": "Block", + "src": "17310:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c75696e742c75696e7429", + "id": 5050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17354:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ca0ad3ec7f731e4661cde447171efd221faf44c50b57eba4cc4965c1f89c0b6", + "typeString": "literal_string \"log(uint,uint,uint,uint)\"" + }, + "value": "log(uint,uint,uint,uint)" + }, + { + "id": 5051, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5038, + "src": "17382:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5052, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5040, + "src": "17386:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5053, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5042, + "src": "17390:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5054, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5044, + "src": "17394:2:16", + "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": 5048, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17330:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5049, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17330:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17330:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5047, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "17314:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17314:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5057, + "nodeType": "ExpressionStatement", + "src": "17314:84:16" + } + ] + }, + "id": 5059, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17256:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5045, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5038, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17265:2:16", + "nodeType": "VariableDeclaration", + "scope": 5059, + "src": "17260:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5037, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17260:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5040, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17274:2:16", + "nodeType": "VariableDeclaration", + "scope": 5059, + "src": "17269:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5039, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17269:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5042, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17283:2:16", + "nodeType": "VariableDeclaration", + "scope": 5059, + "src": "17278:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5041, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17278:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5044, + "mutability": "mutable", + "name": "p3", + "nameLocation": "17292:2:16", + "nodeType": "VariableDeclaration", + "scope": 5059, + "src": "17287:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5043, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17287:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17259:36:16" + }, + "returnParameters": { + "id": 5046, + "nodeType": "ParameterList", + "parameters": [], + "src": "17310:0:16" + }, + "scope": 10925, + "src": "17247:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5081, + "nodeType": "Block", + "src": "17477:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c75696e742c737472696e6729", + "id": 5073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17521:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_78ad7a0c8cf57ba0e3b9e892fd6558ba40a5d4c84ef5c8c5e36bfc8d7f23b0c5", + "typeString": "literal_string \"log(uint,uint,uint,string)\"" + }, + "value": "log(uint,uint,uint,string)" + }, + { + "id": 5074, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5061, + "src": "17551:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5075, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5063, + "src": "17555:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5076, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5065, + "src": "17559:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5077, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5067, + "src": "17563:2:16", + "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": 5071, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17497:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5072, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17497:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5078, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17497:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5070, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "17481:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17481:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5080, + "nodeType": "ExpressionStatement", + "src": "17481:86:16" + } + ] + }, + "id": 5082, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17414:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5068, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5061, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17423:2:16", + "nodeType": "VariableDeclaration", + "scope": 5082, + "src": "17418:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5060, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17418:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5063, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17432:2:16", + "nodeType": "VariableDeclaration", + "scope": 5082, + "src": "17427:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5062, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17427:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5065, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17441:2:16", + "nodeType": "VariableDeclaration", + "scope": 5082, + "src": "17436:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5064, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17436:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5067, + "mutability": "mutable", + "name": "p3", + "nameLocation": "17459:2:16", + "nodeType": "VariableDeclaration", + "scope": 5082, + "src": "17445:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5066, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17445:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "17417:45:16" + }, + "returnParameters": { + "id": 5069, + "nodeType": "ParameterList", + "parameters": [], + "src": "17477:0:16" + }, + "scope": 10925, + "src": "17405:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5104, + "nodeType": "Block", + "src": "17637:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c75696e742c626f6f6c29", + "id": 5096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17681:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6452b9cbdf8b8479d7ee301237b2d6dfa173fc92538628ab30d643fb4351918f", + "typeString": "literal_string \"log(uint,uint,uint,bool)\"" + }, + "value": "log(uint,uint,uint,bool)" + }, + { + "id": 5097, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5084, + "src": "17709:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5098, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5086, + "src": "17713:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5099, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5088, + "src": "17717:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5100, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5090, + "src": "17721:2:16", + "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": 5094, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17657:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5095, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17657:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17657:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5093, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "17641:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17641:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5103, + "nodeType": "ExpressionStatement", + "src": "17641:84:16" + } + ] + }, + "id": 5105, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17583:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5091, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5084, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17592:2:16", + "nodeType": "VariableDeclaration", + "scope": 5105, + "src": "17587:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5083, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17587:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5086, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17601:2:16", + "nodeType": "VariableDeclaration", + "scope": 5105, + "src": "17596:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5085, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17596:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5088, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17610:2:16", + "nodeType": "VariableDeclaration", + "scope": 5105, + "src": "17605:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5087, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17605:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5090, + "mutability": "mutable", + "name": "p3", + "nameLocation": "17619:2:16", + "nodeType": "VariableDeclaration", + "scope": 5105, + "src": "17614:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5089, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "17614:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "17586:36:16" + }, + "returnParameters": { + "id": 5092, + "nodeType": "ParameterList", + "parameters": [], + "src": "17637:0:16" + }, + "scope": 10925, + "src": "17574:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5127, + "nodeType": "Block", + "src": "17798:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c75696e742c6164647265737329", + "id": 5119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "17842:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0853f69a5584c9e0aa87ddae9bd870cf5164166d612d334644e66176c1213ba", + "typeString": "literal_string \"log(uint,uint,uint,address)\"" + }, + "value": "log(uint,uint,uint,address)" + }, + { + "id": 5120, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5107, + "src": "17873:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5121, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5109, + "src": "17877:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5122, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5111, + "src": "17881:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5123, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5113, + "src": "17885:2:16", + "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": 5117, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17818:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5118, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17818:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5124, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17818:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5116, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "17802:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17802:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5126, + "nodeType": "ExpressionStatement", + "src": "17802:87:16" + } + ] + }, + "id": 5128, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17741:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5114, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5107, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17750:2:16", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "17745:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5106, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17745:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5109, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17759:2:16", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "17754:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5108, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17754:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5111, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17768:2:16", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "17763:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5110, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17763:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5113, + "mutability": "mutable", + "name": "p3", + "nameLocation": "17780:2:16", + "nodeType": "VariableDeclaration", + "scope": 5128, + "src": "17772:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5112, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "17772:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "17744:39:16" + }, + "returnParameters": { + "id": 5115, + "nodeType": "ParameterList", + "parameters": [], + "src": "17798:0:16" + }, + "scope": 10925, + "src": "17732:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5150, + "nodeType": "Block", + "src": "17968:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c737472696e672c75696e7429", + "id": 5142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18012:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3894163d4e8f3eec101fb8e2c1029563bd05d05ee1d1790a46910ebbbdc3072e", + "typeString": "literal_string \"log(uint,uint,string,uint)\"" + }, + "value": "log(uint,uint,string,uint)" + }, + { + "id": 5143, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5130, + "src": "18042:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5144, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5132, + "src": "18046:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5145, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5134, + "src": "18050:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5146, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5136, + "src": "18054:2:16", + "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": 5140, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "17988:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5141, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "17988:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5147, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17988:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5139, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "17972:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "17972:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5149, + "nodeType": "ExpressionStatement", + "src": "17972:86:16" + } + ] + }, + "id": 5151, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "17905:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5137, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5130, + "mutability": "mutable", + "name": "p0", + "nameLocation": "17914:2:16", + "nodeType": "VariableDeclaration", + "scope": 5151, + "src": "17909:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5129, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17909:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5132, + "mutability": "mutable", + "name": "p1", + "nameLocation": "17923:2:16", + "nodeType": "VariableDeclaration", + "scope": 5151, + "src": "17918:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5131, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17918:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5134, + "mutability": "mutable", + "name": "p2", + "nameLocation": "17941:2:16", + "nodeType": "VariableDeclaration", + "scope": 5151, + "src": "17927:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5133, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "17927:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5136, + "mutability": "mutable", + "name": "p3", + "nameLocation": "17950:2:16", + "nodeType": "VariableDeclaration", + "scope": 5151, + "src": "17945:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5135, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "17945:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "17908:45:16" + }, + "returnParameters": { + "id": 5138, + "nodeType": "ParameterList", + "parameters": [], + "src": "17968:0:16" + }, + "scope": 10925, + "src": "17896:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5173, + "nodeType": "Block", + "src": "18146:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c737472696e672c737472696e6729", + "id": 5165, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18190:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7c032a3207958e3d969ab52b045e7a59226129ee4b9e813f7071f9a5e80813f6", + "typeString": "literal_string \"log(uint,uint,string,string)\"" + }, + "value": "log(uint,uint,string,string)" + }, + { + "id": 5166, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5153, + "src": "18222:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5167, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5155, + "src": "18226:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5168, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5157, + "src": "18230:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5169, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5159, + "src": "18234:2:16", + "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": 5163, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18166:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5164, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18166:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18166:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5162, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "18150:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18150:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5172, + "nodeType": "ExpressionStatement", + "src": "18150:88:16" + } + ] + }, + "id": 5174, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18074:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5160, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5153, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18083:2:16", + "nodeType": "VariableDeclaration", + "scope": 5174, + "src": "18078:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5152, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18078:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5155, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18092:2:16", + "nodeType": "VariableDeclaration", + "scope": 5174, + "src": "18087:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5154, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18087:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5157, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18110:2:16", + "nodeType": "VariableDeclaration", + "scope": 5174, + "src": "18096:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5156, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18096:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5159, + "mutability": "mutable", + "name": "p3", + "nameLocation": "18128:2:16", + "nodeType": "VariableDeclaration", + "scope": 5174, + "src": "18114:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5158, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18114:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "18077:54:16" + }, + "returnParameters": { + "id": 5161, + "nodeType": "ParameterList", + "parameters": [], + "src": "18146:0:16" + }, + "scope": 10925, + "src": "18065:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5196, + "nodeType": "Block", + "src": "18317:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c737472696e672c626f6f6c29", + "id": 5188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18361:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b22eaf06d72d481cf9b94b8f4d5fb89cf08bbfd924ee166a250ac94617be65b9", + "typeString": "literal_string \"log(uint,uint,string,bool)\"" + }, + "value": "log(uint,uint,string,bool)" + }, + { + "id": 5189, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5176, + "src": "18391:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5190, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5178, + "src": "18395:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5191, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5180, + "src": "18399:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5192, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5182, + "src": "18403:2:16", + "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": 5186, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18337:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5187, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18337:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5193, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18337:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5185, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "18321:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18321:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5195, + "nodeType": "ExpressionStatement", + "src": "18321:86:16" + } + ] + }, + "id": 5197, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18254:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5183, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5176, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18263:2:16", + "nodeType": "VariableDeclaration", + "scope": 5197, + "src": "18258:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5175, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18258:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5178, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18272:2:16", + "nodeType": "VariableDeclaration", + "scope": 5197, + "src": "18267:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5177, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18267:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5180, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18290:2:16", + "nodeType": "VariableDeclaration", + "scope": 5197, + "src": "18276:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5179, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18276:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5182, + "mutability": "mutable", + "name": "p3", + "nameLocation": "18299:2:16", + "nodeType": "VariableDeclaration", + "scope": 5197, + "src": "18294:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5181, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18294:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "18257:45:16" + }, + "returnParameters": { + "id": 5184, + "nodeType": "ParameterList", + "parameters": [], + "src": "18317:0:16" + }, + "scope": 10925, + "src": "18245:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5219, + "nodeType": "Block", + "src": "18489:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c737472696e672c6164647265737329", + "id": 5211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18533:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_433285a23ec6b1f0f76da64682232527561857544109f80e3e5d46b0e16980e7", + "typeString": "literal_string \"log(uint,uint,string,address)\"" + }, + "value": "log(uint,uint,string,address)" + }, + { + "id": 5212, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5199, + "src": "18566:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5213, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5201, + "src": "18570:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5214, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5203, + "src": "18574:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5215, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5205, + "src": "18578:2:16", + "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": 5209, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18509:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5210, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18509:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18509:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5208, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "18493:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18493:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5218, + "nodeType": "ExpressionStatement", + "src": "18493:89:16" + } + ] + }, + "id": 5220, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18423:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5206, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5199, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18432:2:16", + "nodeType": "VariableDeclaration", + "scope": 5220, + "src": "18427:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5198, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18427:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5201, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18441:2:16", + "nodeType": "VariableDeclaration", + "scope": 5220, + "src": "18436:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5200, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18436:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5203, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18459:2:16", + "nodeType": "VariableDeclaration", + "scope": 5220, + "src": "18445:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5202, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18445:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5205, + "mutability": "mutable", + "name": "p3", + "nameLocation": "18471:2:16", + "nodeType": "VariableDeclaration", + "scope": 5220, + "src": "18463:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5204, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "18463:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "18426:48:16" + }, + "returnParameters": { + "id": 5207, + "nodeType": "ParameterList", + "parameters": [], + "src": "18489:0:16" + }, + "scope": 10925, + "src": "18414:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5242, + "nodeType": "Block", + "src": "18652:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c75696e7429", + "id": 5234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18696:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c647c8c5fed6e02ad4f1c7bfb891e58ba00758f5d6cb92966fd0684c5b3fc8d", + "typeString": "literal_string \"log(uint,uint,bool,uint)\"" + }, + "value": "log(uint,uint,bool,uint)" + }, + { + "id": 5235, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5222, + "src": "18724:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5236, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5224, + "src": "18728:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5237, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5226, + "src": "18732:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5238, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5228, + "src": "18736:2:16", + "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": 5232, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18672:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5233, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18672:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5239, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18672:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5231, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "18656:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18656:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5241, + "nodeType": "ExpressionStatement", + "src": "18656:84:16" + } + ] + }, + "id": 5243, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18598:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5229, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5222, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18607:2:16", + "nodeType": "VariableDeclaration", + "scope": 5243, + "src": "18602:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5221, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18602:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5224, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18616:2:16", + "nodeType": "VariableDeclaration", + "scope": 5243, + "src": "18611:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5223, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18611:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5226, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18625:2:16", + "nodeType": "VariableDeclaration", + "scope": 5243, + "src": "18620:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5225, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18620:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5228, + "mutability": "mutable", + "name": "p3", + "nameLocation": "18634:2:16", + "nodeType": "VariableDeclaration", + "scope": 5243, + "src": "18629:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5227, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18629:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "18601:36:16" + }, + "returnParameters": { + "id": 5230, + "nodeType": "ParameterList", + "parameters": [], + "src": "18652:0:16" + }, + "scope": 10925, + "src": "18589:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5265, + "nodeType": "Block", + "src": "18819:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c737472696e6729", + "id": 5257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "18863:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_efd9cbeee79713372dd0a748a26a3fb36cbe4eb4e01a37fbde0cde0e101fc85a", + "typeString": "literal_string \"log(uint,uint,bool,string)\"" + }, + "value": "log(uint,uint,bool,string)" + }, + { + "id": 5258, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5245, + "src": "18893:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5259, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5247, + "src": "18897:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5260, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5249, + "src": "18901:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5261, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5251, + "src": "18905:2:16", + "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": 5255, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18839:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5256, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18839:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5262, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18839:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5254, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "18823:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18823:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5264, + "nodeType": "ExpressionStatement", + "src": "18823:86:16" + } + ] + }, + "id": 5266, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18756:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5252, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5245, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18765:2:16", + "nodeType": "VariableDeclaration", + "scope": 5266, + "src": "18760:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5244, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18760:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5247, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18774:2:16", + "nodeType": "VariableDeclaration", + "scope": 5266, + "src": "18769:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5246, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18769:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5249, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18783:2:16", + "nodeType": "VariableDeclaration", + "scope": 5266, + "src": "18778:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5248, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18778:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5251, + "mutability": "mutable", + "name": "p3", + "nameLocation": "18801:2:16", + "nodeType": "VariableDeclaration", + "scope": 5266, + "src": "18787:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5250, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "18787:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "18759:45:16" + }, + "returnParameters": { + "id": 5253, + "nodeType": "ParameterList", + "parameters": [], + "src": "18819:0:16" + }, + "scope": 10925, + "src": "18747:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5288, + "nodeType": "Block", + "src": "18979:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c626f6f6c29", + "id": 5280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19023:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_94be3bb13e096cdbc5a1999a524e3b6664a32da7e2c2954ae0e2b792a0dd1f41", + "typeString": "literal_string \"log(uint,uint,bool,bool)\"" + }, + "value": "log(uint,uint,bool,bool)" + }, + { + "id": 5281, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5268, + "src": "19051:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5282, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5270, + "src": "19055:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5283, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5272, + "src": "19059:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5284, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5274, + "src": "19063:2:16", + "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": 5278, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "18999:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5279, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "18999:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5285, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18999:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5277, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "18983:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "18983:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5287, + "nodeType": "ExpressionStatement", + "src": "18983:84:16" + } + ] + }, + "id": 5289, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "18925:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5275, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5268, + "mutability": "mutable", + "name": "p0", + "nameLocation": "18934:2:16", + "nodeType": "VariableDeclaration", + "scope": 5289, + "src": "18929:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5267, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18929:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5270, + "mutability": "mutable", + "name": "p1", + "nameLocation": "18943:2:16", + "nodeType": "VariableDeclaration", + "scope": 5289, + "src": "18938:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5269, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "18938:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5272, + "mutability": "mutable", + "name": "p2", + "nameLocation": "18952:2:16", + "nodeType": "VariableDeclaration", + "scope": 5289, + "src": "18947:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5271, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18947:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5274, + "mutability": "mutable", + "name": "p3", + "nameLocation": "18961:2:16", + "nodeType": "VariableDeclaration", + "scope": 5289, + "src": "18956:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5273, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "18956:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "18928:36:16" + }, + "returnParameters": { + "id": 5276, + "nodeType": "ParameterList", + "parameters": [], + "src": "18979:0:16" + }, + "scope": 10925, + "src": "18916:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5311, + "nodeType": "Block", + "src": "19140:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c626f6f6c2c6164647265737329", + "id": 5303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19184:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e117744fcc46e4484cabd18d640497b4a9d76b7f775e79fe9a95e42427bd8976", + "typeString": "literal_string \"log(uint,uint,bool,address)\"" + }, + "value": "log(uint,uint,bool,address)" + }, + { + "id": 5304, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5291, + "src": "19215:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5305, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5293, + "src": "19219:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5306, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5295, + "src": "19223:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5307, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5297, + "src": "19227:2:16", + "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": 5301, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19160:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5302, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19160:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5308, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19160:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5300, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "19144:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19144:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5310, + "nodeType": "ExpressionStatement", + "src": "19144:87:16" + } + ] + }, + "id": 5312, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19083:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5298, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5291, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19092:2:16", + "nodeType": "VariableDeclaration", + "scope": 5312, + "src": "19087:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5290, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19087:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5293, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19101:2:16", + "nodeType": "VariableDeclaration", + "scope": 5312, + "src": "19096:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5292, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19096:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5295, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19110:2:16", + "nodeType": "VariableDeclaration", + "scope": 5312, + "src": "19105:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5294, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19105:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5297, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19122:2:16", + "nodeType": "VariableDeclaration", + "scope": 5312, + "src": "19114:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5296, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19114:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19086:39:16" + }, + "returnParameters": { + "id": 5299, + "nodeType": "ParameterList", + "parameters": [], + "src": "19140:0:16" + }, + "scope": 10925, + "src": "19074:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5334, + "nodeType": "Block", + "src": "19304:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c616464726573732c75696e7429", + "id": 5326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19348:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_610ba8c0cae1123f7f8ad76791afd86dc185a4f1fe79a263112118ddb5231e9f", + "typeString": "literal_string \"log(uint,uint,address,uint)\"" + }, + "value": "log(uint,uint,address,uint)" + }, + { + "id": 5327, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5314, + "src": "19379:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5328, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5316, + "src": "19383:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5329, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5318, + "src": "19387:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5330, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5320, + "src": "19391:2:16", + "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": 5324, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19324:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5325, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19324:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5331, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19324:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5323, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "19308:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19308:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5333, + "nodeType": "ExpressionStatement", + "src": "19308:87:16" + } + ] + }, + "id": 5335, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19247:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5321, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5314, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19256:2:16", + "nodeType": "VariableDeclaration", + "scope": 5335, + "src": "19251:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5313, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19251:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5316, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19265:2:16", + "nodeType": "VariableDeclaration", + "scope": 5335, + "src": "19260:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5315, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19260:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5318, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19277:2:16", + "nodeType": "VariableDeclaration", + "scope": 5335, + "src": "19269:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5317, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19269:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5320, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19286:2:16", + "nodeType": "VariableDeclaration", + "scope": 5335, + "src": "19281:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5319, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19281:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19250:39:16" + }, + "returnParameters": { + "id": 5322, + "nodeType": "ParameterList", + "parameters": [], + "src": "19304:0:16" + }, + "scope": 10925, + "src": "19238:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5357, + "nodeType": "Block", + "src": "19477:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c616464726573732c737472696e6729", + "id": 5349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19521:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6a2d1de1bf5c0a47e82220cd592c8fb4a4a43f17ecab471044861ef70454227", + "typeString": "literal_string \"log(uint,uint,address,string)\"" + }, + "value": "log(uint,uint,address,string)" + }, + { + "id": 5350, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5337, + "src": "19554:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5351, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5339, + "src": "19558:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5352, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5341, + "src": "19562:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5353, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5343, + "src": "19566:2:16", + "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": 5347, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19497:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5348, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19497:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19497:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5346, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "19481:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19481:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5356, + "nodeType": "ExpressionStatement", + "src": "19481:89:16" + } + ] + }, + "id": 5358, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19411:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5344, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5337, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19420:2:16", + "nodeType": "VariableDeclaration", + "scope": 5358, + "src": "19415:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5336, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19415:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5339, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19429:2:16", + "nodeType": "VariableDeclaration", + "scope": 5358, + "src": "19424:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5338, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19424:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5341, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19441:2:16", + "nodeType": "VariableDeclaration", + "scope": 5358, + "src": "19433:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5340, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19433:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5343, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19459:2:16", + "nodeType": "VariableDeclaration", + "scope": 5358, + "src": "19445:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5342, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "19445:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "19414:48:16" + }, + "returnParameters": { + "id": 5345, + "nodeType": "ParameterList", + "parameters": [], + "src": "19477:0:16" + }, + "scope": 10925, + "src": "19402:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5380, + "nodeType": "Block", + "src": "19643:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c616464726573732c626f6f6c29", + "id": 5372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19687:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a8e820ae9dc5fd5a845e5dabf2b296e5588fe5a0d8101de14323ebe3e8e2b6c0", + "typeString": "literal_string \"log(uint,uint,address,bool)\"" + }, + "value": "log(uint,uint,address,bool)" + }, + { + "id": 5373, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5360, + "src": "19718:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5374, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5362, + "src": "19722:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5375, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5364, + "src": "19726:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5376, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5366, + "src": "19730:2:16", + "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": 5370, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19663:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5371, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19663:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5377, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19663:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5369, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "19647:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19647:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5379, + "nodeType": "ExpressionStatement", + "src": "19647:87:16" + } + ] + }, + "id": 5381, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19586:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5367, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5360, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19595:2:16", + "nodeType": "VariableDeclaration", + "scope": 5381, + "src": "19590:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5359, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19590:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5362, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19604:2:16", + "nodeType": "VariableDeclaration", + "scope": 5381, + "src": "19599:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5361, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19599:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5364, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19616:2:16", + "nodeType": "VariableDeclaration", + "scope": 5381, + "src": "19608:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19608:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5366, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19625:2:16", + "nodeType": "VariableDeclaration", + "scope": 5381, + "src": "19620:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5365, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "19620:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "19589:39:16" + }, + "returnParameters": { + "id": 5368, + "nodeType": "ParameterList", + "parameters": [], + "src": "19643:0:16" + }, + "scope": 10925, + "src": "19577:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5403, + "nodeType": "Block", + "src": "19810:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c75696e742c616464726573732c6164647265737329", + "id": 5395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "19854:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ca939b20e9284d76bbbc091d0d45d06f650171230ac4f1f35652b8b6e1579811", + "typeString": "literal_string \"log(uint,uint,address,address)\"" + }, + "value": "log(uint,uint,address,address)" + }, + { + "id": 5396, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5383, + "src": "19888:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5397, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5385, + "src": "19892:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5398, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5387, + "src": "19896:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5399, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5389, + "src": "19900:2:16", + "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": 5393, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "19830:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "19830:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5400, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19830:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5392, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "19814:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19814:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5402, + "nodeType": "ExpressionStatement", + "src": "19814:90:16" + } + ] + }, + "id": 5404, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19750:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5390, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5383, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19759:2:16", + "nodeType": "VariableDeclaration", + "scope": 5404, + "src": "19754:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5382, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19754:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5385, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19768:2:16", + "nodeType": "VariableDeclaration", + "scope": 5404, + "src": "19763:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5384, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19763:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5387, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19780:2:16", + "nodeType": "VariableDeclaration", + "scope": 5404, + "src": "19772:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5386, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19772:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5389, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19792:2:16", + "nodeType": "VariableDeclaration", + "scope": 5404, + "src": "19784:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5388, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "19784:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "19753:42:16" + }, + "returnParameters": { + "id": 5391, + "nodeType": "ParameterList", + "parameters": [], + "src": "19810:0:16" + }, + "scope": 10925, + "src": "19741:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5426, + "nodeType": "Block", + "src": "19983:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c75696e742c75696e7429", + "id": 5418, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20027:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c0043807b5f951e0375253205c951c6e6a6b19b5de111342e8f6be7c7f284628", + "typeString": "literal_string \"log(uint,string,uint,uint)\"" + }, + "value": "log(uint,string,uint,uint)" + }, + { + "id": 5419, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5406, + "src": "20057:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5420, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5408, + "src": "20061:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5421, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5410, + "src": "20065:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5422, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5412, + "src": "20069:2:16", + "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": 5416, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20003:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5417, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20003:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5423, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20003:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5415, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "19987:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "19987:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5425, + "nodeType": "ExpressionStatement", + "src": "19987:86:16" + } + ] + }, + "id": 5427, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "19920:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5413, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5406, + "mutability": "mutable", + "name": "p0", + "nameLocation": "19929:2:16", + "nodeType": "VariableDeclaration", + "scope": 5427, + "src": "19924:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5405, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19924:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5408, + "mutability": "mutable", + "name": "p1", + "nameLocation": "19947:2:16", + "nodeType": "VariableDeclaration", + "scope": 5427, + "src": "19933:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5407, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "19933:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5410, + "mutability": "mutable", + "name": "p2", + "nameLocation": "19956:2:16", + "nodeType": "VariableDeclaration", + "scope": 5427, + "src": "19951:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5409, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19951:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5412, + "mutability": "mutable", + "name": "p3", + "nameLocation": "19965:2:16", + "nodeType": "VariableDeclaration", + "scope": 5427, + "src": "19960:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5411, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "19960:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "19923:45:16" + }, + "returnParameters": { + "id": 5414, + "nodeType": "ParameterList", + "parameters": [], + "src": "19983:0:16" + }, + "scope": 10925, + "src": "19911:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5449, + "nodeType": "Block", + "src": "20161:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c75696e742c737472696e6729", + "id": 5441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20205:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a2bc0c99cedfd873182e8eb1e68799dc8925c663b8ce2430858586fba62fe313", + "typeString": "literal_string \"log(uint,string,uint,string)\"" + }, + "value": "log(uint,string,uint,string)" + }, + { + "id": 5442, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5429, + "src": "20237:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5443, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5431, + "src": "20241:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5444, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5433, + "src": "20245:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5445, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5435, + "src": "20249:2:16", + "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": 5439, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20181:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5440, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20181:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5446, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20181:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5438, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "20165:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20165:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5448, + "nodeType": "ExpressionStatement", + "src": "20165:88:16" + } + ] + }, + "id": 5450, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20089:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5436, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5429, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20098:2:16", + "nodeType": "VariableDeclaration", + "scope": 5450, + "src": "20093:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5428, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20093:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5431, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20116:2:16", + "nodeType": "VariableDeclaration", + "scope": 5450, + "src": "20102:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5430, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20102:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5433, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20125:2:16", + "nodeType": "VariableDeclaration", + "scope": 5450, + "src": "20120:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5432, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20120:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5435, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20143:2:16", + "nodeType": "VariableDeclaration", + "scope": 5450, + "src": "20129:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5434, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20129:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "20092:54:16" + }, + "returnParameters": { + "id": 5437, + "nodeType": "ParameterList", + "parameters": [], + "src": "20161:0:16" + }, + "scope": 10925, + "src": "20080:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5472, + "nodeType": "Block", + "src": "20332:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c75696e742c626f6f6c29", + "id": 5464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20376:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_875a6e2ed2444d0d09e264b06717914212d8a793bea0f48b5633e707ac53784d", + "typeString": "literal_string \"log(uint,string,uint,bool)\"" + }, + "value": "log(uint,string,uint,bool)" + }, + { + "id": 5465, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5452, + "src": "20406:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5466, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5454, + "src": "20410:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5467, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5456, + "src": "20414:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5468, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5458, + "src": "20418:2:16", + "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": 5462, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20352:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5463, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20352:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5469, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20352:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5461, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "20336:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20336:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5471, + "nodeType": "ExpressionStatement", + "src": "20336:86:16" + } + ] + }, + "id": 5473, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20269:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5459, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5452, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20278:2:16", + "nodeType": "VariableDeclaration", + "scope": 5473, + "src": "20273:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5451, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20273:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5454, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20296:2:16", + "nodeType": "VariableDeclaration", + "scope": 5473, + "src": "20282:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5453, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20282:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5456, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20305:2:16", + "nodeType": "VariableDeclaration", + "scope": 5473, + "src": "20300:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5455, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20300:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5458, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20314:2:16", + "nodeType": "VariableDeclaration", + "scope": 5473, + "src": "20309:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5457, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "20309:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "20272:45:16" + }, + "returnParameters": { + "id": 5460, + "nodeType": "ParameterList", + "parameters": [], + "src": "20332:0:16" + }, + "scope": 10925, + "src": "20260:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5495, + "nodeType": "Block", + "src": "20504:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c75696e742c6164647265737329", + "id": 5487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20548:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ab7bd9fd9b149127bbb235a3e1bec9a2e844f3968bdc1f48944c4b1973dacfda", + "typeString": "literal_string \"log(uint,string,uint,address)\"" + }, + "value": "log(uint,string,uint,address)" + }, + { + "id": 5488, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5475, + "src": "20581:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5489, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5477, + "src": "20585:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5490, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5479, + "src": "20589:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5491, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5481, + "src": "20593:2:16", + "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": 5485, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20524:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5486, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20524:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20524:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5484, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "20508:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20508:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5494, + "nodeType": "ExpressionStatement", + "src": "20508:89:16" + } + ] + }, + "id": 5496, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20438:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5482, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5475, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20447:2:16", + "nodeType": "VariableDeclaration", + "scope": 5496, + "src": "20442:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5474, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20442:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5477, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20465:2:16", + "nodeType": "VariableDeclaration", + "scope": 5496, + "src": "20451:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5476, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20451:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5479, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20474:2:16", + "nodeType": "VariableDeclaration", + "scope": 5496, + "src": "20469:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5478, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20469:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5481, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20486:2:16", + "nodeType": "VariableDeclaration", + "scope": 5496, + "src": "20478:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5480, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "20478:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "20441:48:16" + }, + "returnParameters": { + "id": 5483, + "nodeType": "ParameterList", + "parameters": [], + "src": "20504:0:16" + }, + "scope": 10925, + "src": "20429:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5518, + "nodeType": "Block", + "src": "20685:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c737472696e672c75696e7429", + "id": 5510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20729:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_76ec635e4702367bf449b895743175fa2654af8170b6d9c20dd183616d0a192b", + "typeString": "literal_string \"log(uint,string,string,uint)\"" + }, + "value": "log(uint,string,string,uint)" + }, + { + "id": 5511, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5498, + "src": "20761:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5512, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5500, + "src": "20765:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5513, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5502, + "src": "20769:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5514, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5504, + "src": "20773:2:16", + "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": 5508, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20705:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5509, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20705:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5515, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20705:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5507, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "20689:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20689:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5517, + "nodeType": "ExpressionStatement", + "src": "20689:88:16" + } + ] + }, + "id": 5519, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20613:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5505, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5498, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20622:2:16", + "nodeType": "VariableDeclaration", + "scope": 5519, + "src": "20617:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5497, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20617:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5500, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20640:2:16", + "nodeType": "VariableDeclaration", + "scope": 5519, + "src": "20626:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5499, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20626:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5502, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20658:2:16", + "nodeType": "VariableDeclaration", + "scope": 5519, + "src": "20644:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5501, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20644:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5504, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20667:2:16", + "nodeType": "VariableDeclaration", + "scope": 5519, + "src": "20662:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5503, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20662:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "20616:54:16" + }, + "returnParameters": { + "id": 5506, + "nodeType": "ParameterList", + "parameters": [], + "src": "20685:0:16" + }, + "scope": 10925, + "src": "20604:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5541, + "nodeType": "Block", + "src": "20874:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c737472696e672c737472696e6729", + "id": 5533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "20918:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_57dd0a119927787a0c91b48333e191a1b3a4082dcb6efc912e2ba5b047e15156", + "typeString": "literal_string \"log(uint,string,string,string)\"" + }, + "value": "log(uint,string,string,string)" + }, + { + "id": 5534, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5521, + "src": "20952:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5535, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5523, + "src": "20956:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5536, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5525, + "src": "20960:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5537, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5527, + "src": "20964:2:16", + "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": 5531, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "20894:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5532, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "20894:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20894:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5530, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "20878:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "20878:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5540, + "nodeType": "ExpressionStatement", + "src": "20878:90:16" + } + ] + }, + "id": 5542, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20793:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5528, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5521, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20802:2:16", + "nodeType": "VariableDeclaration", + "scope": 5542, + "src": "20797:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5520, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20797:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5523, + "mutability": "mutable", + "name": "p1", + "nameLocation": "20820:2:16", + "nodeType": "VariableDeclaration", + "scope": 5542, + "src": "20806:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5522, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20806:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5525, + "mutability": "mutable", + "name": "p2", + "nameLocation": "20838:2:16", + "nodeType": "VariableDeclaration", + "scope": 5542, + "src": "20824:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5524, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20824:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5527, + "mutability": "mutable", + "name": "p3", + "nameLocation": "20856:2:16", + "nodeType": "VariableDeclaration", + "scope": 5542, + "src": "20842:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5526, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20842:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "20796:63:16" + }, + "returnParameters": { + "id": 5529, + "nodeType": "ParameterList", + "parameters": [], + "src": "20874:0:16" + }, + "scope": 10925, + "src": "20784:188:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5564, + "nodeType": "Block", + "src": "21056:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c737472696e672c626f6f6c29", + "id": 5556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21100:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12862b98fdb7950b0e6908443bc9d7894b44d5616424da5cdb6206a848affcbc", + "typeString": "literal_string \"log(uint,string,string,bool)\"" + }, + "value": "log(uint,string,string,bool)" + }, + { + "id": 5557, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5544, + "src": "21132:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5558, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5546, + "src": "21136:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5559, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5548, + "src": "21140:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5560, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5550, + "src": "21144:2:16", + "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": 5554, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21076:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5555, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21076:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21076:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5553, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "21060:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21060:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5563, + "nodeType": "ExpressionStatement", + "src": "21060:88:16" + } + ] + }, + "id": 5565, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "20984:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5551, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5544, + "mutability": "mutable", + "name": "p0", + "nameLocation": "20993:2:16", + "nodeType": "VariableDeclaration", + "scope": 5565, + "src": "20988:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5543, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "20988:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5546, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21011:2:16", + "nodeType": "VariableDeclaration", + "scope": 5565, + "src": "20997:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5545, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "20997:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5548, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21029:2:16", + "nodeType": "VariableDeclaration", + "scope": 5565, + "src": "21015:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5547, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21015:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5550, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21038:2:16", + "nodeType": "VariableDeclaration", + "scope": 5565, + "src": "21033:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5549, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21033:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "20987:54:16" + }, + "returnParameters": { + "id": 5552, + "nodeType": "ParameterList", + "parameters": [], + "src": "21056:0:16" + }, + "scope": 10925, + "src": "20975:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5587, + "nodeType": "Block", + "src": "21239:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c737472696e672c6164647265737329", + "id": 5579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21283:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cc988aa0514d1ed8be70a6bf2bdff4972e3f3420811b4adbd40f9b75b873fded", + "typeString": "literal_string \"log(uint,string,string,address)\"" + }, + "value": "log(uint,string,string,address)" + }, + { + "id": 5580, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5567, + "src": "21318:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5581, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5569, + "src": "21322:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5582, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5571, + "src": "21326:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5583, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5573, + "src": "21330:2:16", + "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": 5577, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21259:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5578, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21259:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5584, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21259:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5576, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "21243:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21243:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5586, + "nodeType": "ExpressionStatement", + "src": "21243:91:16" + } + ] + }, + "id": 5588, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21164:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5574, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5567, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21173:2:16", + "nodeType": "VariableDeclaration", + "scope": 5588, + "src": "21168:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5566, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21168:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5569, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21191:2:16", + "nodeType": "VariableDeclaration", + "scope": 5588, + "src": "21177:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5568, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21177:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5571, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21209:2:16", + "nodeType": "VariableDeclaration", + "scope": 5588, + "src": "21195:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5570, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21195:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5573, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21221:2:16", + "nodeType": "VariableDeclaration", + "scope": 5588, + "src": "21213:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5572, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21213:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "21167:57:16" + }, + "returnParameters": { + "id": 5575, + "nodeType": "ParameterList", + "parameters": [], + "src": "21239:0:16" + }, + "scope": 10925, + "src": "21155:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5610, + "nodeType": "Block", + "src": "21413:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c75696e7429", + "id": 5602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21457:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4b48a7f4bdefee99950b35e5da7ba9724c3954e445cc3077000bce7a4265081", + "typeString": "literal_string \"log(uint,string,bool,uint)\"" + }, + "value": "log(uint,string,bool,uint)" + }, + { + "id": 5603, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5590, + "src": "21487:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5604, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5592, + "src": "21491:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5605, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5594, + "src": "21495:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5606, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5596, + "src": "21499:2:16", + "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": 5600, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21433:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5601, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21433:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5607, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21433:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5599, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "21417:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21417:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5609, + "nodeType": "ExpressionStatement", + "src": "21417:86:16" + } + ] + }, + "id": 5611, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21350:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5597, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5590, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21359:2:16", + "nodeType": "VariableDeclaration", + "scope": 5611, + "src": "21354:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5589, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21354:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5592, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21377:2:16", + "nodeType": "VariableDeclaration", + "scope": 5611, + "src": "21363:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5591, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21363:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5594, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21386:2:16", + "nodeType": "VariableDeclaration", + "scope": 5611, + "src": "21381:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5593, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21381:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5596, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21395:2:16", + "nodeType": "VariableDeclaration", + "scope": 5611, + "src": "21390:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5595, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21390:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "21353:45:16" + }, + "returnParameters": { + "id": 5598, + "nodeType": "ParameterList", + "parameters": [], + "src": "21413:0:16" + }, + "scope": 10925, + "src": "21341:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5633, + "nodeType": "Block", + "src": "21591:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c737472696e6729", + "id": 5625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21635:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8d489ca064b1083bafb8388fd8f3d44c2255dbe322f7a52abe786a76257d06e4", + "typeString": "literal_string \"log(uint,string,bool,string)\"" + }, + "value": "log(uint,string,bool,string)" + }, + { + "id": 5626, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5613, + "src": "21667:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5627, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5615, + "src": "21671:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5628, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5617, + "src": "21675:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5629, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5619, + "src": "21679:2:16", + "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": 5623, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21611:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5624, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21611:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5630, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21611:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5622, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "21595:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21595:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5632, + "nodeType": "ExpressionStatement", + "src": "21595:88:16" + } + ] + }, + "id": 5634, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21519:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5613, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21528:2:16", + "nodeType": "VariableDeclaration", + "scope": 5634, + "src": "21523:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5612, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21523:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5615, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21546:2:16", + "nodeType": "VariableDeclaration", + "scope": 5634, + "src": "21532:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5614, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21532:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5617, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21555:2:16", + "nodeType": "VariableDeclaration", + "scope": 5634, + "src": "21550:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5616, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21550:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5619, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21573:2:16", + "nodeType": "VariableDeclaration", + "scope": 5634, + "src": "21559:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5618, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21559:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "21522:54:16" + }, + "returnParameters": { + "id": 5621, + "nodeType": "ParameterList", + "parameters": [], + "src": "21591:0:16" + }, + "scope": 10925, + "src": "21510:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5656, + "nodeType": "Block", + "src": "21762:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c626f6f6c29", + "id": 5648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21806:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_51bc2bc161debf765eefa84d88e06440adeb87045d559377a9edb97406168b2a", + "typeString": "literal_string \"log(uint,string,bool,bool)\"" + }, + "value": "log(uint,string,bool,bool)" + }, + { + "id": 5649, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5636, + "src": "21836:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5650, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5638, + "src": "21840:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5651, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5640, + "src": "21844:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5652, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5642, + "src": "21848:2:16", + "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": 5646, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21782:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5647, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21782:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21782:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5645, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "21766:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21766:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5655, + "nodeType": "ExpressionStatement", + "src": "21766:86:16" + } + ] + }, + "id": 5657, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21699:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5643, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5636, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21708:2:16", + "nodeType": "VariableDeclaration", + "scope": 5657, + "src": "21703:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5635, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21703:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5638, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21726:2:16", + "nodeType": "VariableDeclaration", + "scope": 5657, + "src": "21712:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5637, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21712:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5640, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21735:2:16", + "nodeType": "VariableDeclaration", + "scope": 5657, + "src": "21730:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5639, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21730:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5642, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21744:2:16", + "nodeType": "VariableDeclaration", + "scope": 5657, + "src": "21739:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5641, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21739:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "21702:45:16" + }, + "returnParameters": { + "id": 5644, + "nodeType": "ParameterList", + "parameters": [], + "src": "21762:0:16" + }, + "scope": 10925, + "src": "21690:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5679, + "nodeType": "Block", + "src": "21934:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c626f6f6c2c6164647265737329", + "id": 5671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "21978:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_796f28a06ededa438107c0866560412d4d4337e29da4c7300f50c49a73c18829", + "typeString": "literal_string \"log(uint,string,bool,address)\"" + }, + "value": "log(uint,string,bool,address)" + }, + { + "id": 5672, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5659, + "src": "22011:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5673, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5661, + "src": "22015:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5674, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5663, + "src": "22019:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5675, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5665, + "src": "22023:2:16", + "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": 5669, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "21954:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5670, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "21954:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5676, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21954:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5668, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "21938:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "21938:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5678, + "nodeType": "ExpressionStatement", + "src": "21938:89:16" + } + ] + }, + "id": 5680, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "21868:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5666, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5659, + "mutability": "mutable", + "name": "p0", + "nameLocation": "21877:2:16", + "nodeType": "VariableDeclaration", + "scope": 5680, + "src": "21872:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5658, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "21872:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5661, + "mutability": "mutable", + "name": "p1", + "nameLocation": "21895:2:16", + "nodeType": "VariableDeclaration", + "scope": 5680, + "src": "21881:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5660, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "21881:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5663, + "mutability": "mutable", + "name": "p2", + "nameLocation": "21904:2:16", + "nodeType": "VariableDeclaration", + "scope": 5680, + "src": "21899:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5662, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "21899:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5665, + "mutability": "mutable", + "name": "p3", + "nameLocation": "21916:2:16", + "nodeType": "VariableDeclaration", + "scope": 5680, + "src": "21908:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5664, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "21908:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "21871:48:16" + }, + "returnParameters": { + "id": 5667, + "nodeType": "ParameterList", + "parameters": [], + "src": "21934:0:16" + }, + "scope": 10925, + "src": "21859:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5702, + "nodeType": "Block", + "src": "22109:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c616464726573732c75696e7429", + "id": 5694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22153:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_98e7f3f3a2c39a91982b0a3ae7f29043579abd563fc10531c052f92c3317af43", + "typeString": "literal_string \"log(uint,string,address,uint)\"" + }, + "value": "log(uint,string,address,uint)" + }, + { + "id": 5695, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5682, + "src": "22186:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5696, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5684, + "src": "22190:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5697, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5686, + "src": "22194:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5698, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5688, + "src": "22198:2:16", + "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": 5692, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22129:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5693, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22129:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5699, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22129:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5691, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "22113:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22113:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5701, + "nodeType": "ExpressionStatement", + "src": "22113:89:16" + } + ] + }, + "id": 5703, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22043:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5689, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5682, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22052:2:16", + "nodeType": "VariableDeclaration", + "scope": 5703, + "src": "22047:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5681, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22047:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5684, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22070:2:16", + "nodeType": "VariableDeclaration", + "scope": 5703, + "src": "22056:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5683, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22056:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5686, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22082:2:16", + "nodeType": "VariableDeclaration", + "scope": 5703, + "src": "22074:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5685, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22074:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5688, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22091:2:16", + "nodeType": "VariableDeclaration", + "scope": 5703, + "src": "22086:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5687, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22086:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22046:48:16" + }, + "returnParameters": { + "id": 5690, + "nodeType": "ParameterList", + "parameters": [], + "src": "22109:0:16" + }, + "scope": 10925, + "src": "22034:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5725, + "nodeType": "Block", + "src": "22293:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c616464726573732c737472696e6729", + "id": 5717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22337:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f898577fdc87bf80b54b2b838f8b58bf5a74554c7beeb61b98f3c2b7d59f31e2", + "typeString": "literal_string \"log(uint,string,address,string)\"" + }, + "value": "log(uint,string,address,string)" + }, + { + "id": 5718, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5705, + "src": "22372:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5719, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5707, + "src": "22376:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5720, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5709, + "src": "22380:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5721, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5711, + "src": "22384:2:16", + "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": 5715, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22313:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5716, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22313:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5722, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22313:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5714, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "22297:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22297:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5724, + "nodeType": "ExpressionStatement", + "src": "22297:91:16" + } + ] + }, + "id": 5726, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22218:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5712, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5705, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22227:2:16", + "nodeType": "VariableDeclaration", + "scope": 5726, + "src": "22222:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5704, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22222:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5707, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22245:2:16", + "nodeType": "VariableDeclaration", + "scope": 5726, + "src": "22231:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5706, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22231:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5709, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22257:2:16", + "nodeType": "VariableDeclaration", + "scope": 5726, + "src": "22249:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5708, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22249:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5711, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22275:2:16", + "nodeType": "VariableDeclaration", + "scope": 5726, + "src": "22261:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5710, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22261:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "22221:57:16" + }, + "returnParameters": { + "id": 5713, + "nodeType": "ParameterList", + "parameters": [], + "src": "22293:0:16" + }, + "scope": 10925, + "src": "22209:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5748, + "nodeType": "Block", + "src": "22470:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c616464726573732c626f6f6c29", + "id": 5740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22514:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f93fff378483bab1a84a8ae346090ff91e793863821a5430c45153390c3262e1", + "typeString": "literal_string \"log(uint,string,address,bool)\"" + }, + "value": "log(uint,string,address,bool)" + }, + { + "id": 5741, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5728, + "src": "22547:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5742, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5730, + "src": "22551:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5743, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5732, + "src": "22555:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5744, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5734, + "src": "22559:2:16", + "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": 5738, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22490:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5739, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22490:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22490:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5737, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "22474:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22474:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5747, + "nodeType": "ExpressionStatement", + "src": "22474:89:16" + } + ] + }, + "id": 5749, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22404:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5735, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5728, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22413:2:16", + "nodeType": "VariableDeclaration", + "scope": 5749, + "src": "22408:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5727, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22408:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5730, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22431:2:16", + "nodeType": "VariableDeclaration", + "scope": 5749, + "src": "22417:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5729, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22417:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5732, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22443:2:16", + "nodeType": "VariableDeclaration", + "scope": 5749, + "src": "22435:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5731, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22435:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5734, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22452:2:16", + "nodeType": "VariableDeclaration", + "scope": 5749, + "src": "22447:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5733, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22447:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "22407:48:16" + }, + "returnParameters": { + "id": 5736, + "nodeType": "ParameterList", + "parameters": [], + "src": "22470:0:16" + }, + "scope": 10925, + "src": "22395:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5771, + "nodeType": "Block", + "src": "22648:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c737472696e672c616464726573732c6164647265737329", + "id": 5763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22692:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7fa5458bb859a8b444c46f9915b7879afe7e200298580a00c5813ecf5c0a77cb", + "typeString": "literal_string \"log(uint,string,address,address)\"" + }, + "value": "log(uint,string,address,address)" + }, + { + "id": 5764, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5751, + "src": "22728:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5765, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5753, + "src": "22732:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5766, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5755, + "src": "22736:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 5767, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5757, + "src": "22740:2:16", + "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": 5761, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22668:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5762, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22668:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5768, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22668:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5760, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "22652:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22652:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5770, + "nodeType": "ExpressionStatement", + "src": "22652:92:16" + } + ] + }, + "id": 5772, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22579:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5758, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5751, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22588:2:16", + "nodeType": "VariableDeclaration", + "scope": 5772, + "src": "22583:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5750, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22583:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5753, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22606:2:16", + "nodeType": "VariableDeclaration", + "scope": 5772, + "src": "22592:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5752, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22592:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5755, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22618:2:16", + "nodeType": "VariableDeclaration", + "scope": 5772, + "src": "22610:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5754, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22610:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5757, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22630:2:16", + "nodeType": "VariableDeclaration", + "scope": 5772, + "src": "22622:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5756, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "22622:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "22582:51:16" + }, + "returnParameters": { + "id": 5759, + "nodeType": "ParameterList", + "parameters": [], + "src": "22648:0:16" + }, + "scope": 10925, + "src": "22570:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5794, + "nodeType": "Block", + "src": "22814:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c75696e7429", + "id": 5786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "22858:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_56828da42a6ecdc94480e6d223af96b676cdc4ca9a00b1d88a7646ef1e12541e", + "typeString": "literal_string \"log(uint,bool,uint,uint)\"" + }, + "value": "log(uint,bool,uint,uint)" + }, + { + "id": 5787, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5774, + "src": "22886:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5788, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5776, + "src": "22890:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5789, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5778, + "src": "22894:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5790, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5780, + "src": "22898:2:16", + "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": 5784, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "22834:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5785, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "22834:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5791, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22834:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5783, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "22818:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22818:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5793, + "nodeType": "ExpressionStatement", + "src": "22818:84:16" + } + ] + }, + "id": 5795, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22760:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5781, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5774, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22769:2:16", + "nodeType": "VariableDeclaration", + "scope": 5795, + "src": "22764:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5773, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22764:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5776, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22778:2:16", + "nodeType": "VariableDeclaration", + "scope": 5795, + "src": "22773:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5775, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22773:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5778, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22787:2:16", + "nodeType": "VariableDeclaration", + "scope": 5795, + "src": "22782:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5777, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22782:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5780, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22796:2:16", + "nodeType": "VariableDeclaration", + "scope": 5795, + "src": "22791:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5779, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22791:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "22763:36:16" + }, + "returnParameters": { + "id": 5782, + "nodeType": "ParameterList", + "parameters": [], + "src": "22814:0:16" + }, + "scope": 10925, + "src": "22751:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5817, + "nodeType": "Block", + "src": "22981:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c737472696e6729", + "id": 5809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23025:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e8ddbc56b4712607102717eb35a3ee6aa0309358d07a4257a282d4a44ceb2f63", + "typeString": "literal_string \"log(uint,bool,uint,string)\"" + }, + "value": "log(uint,bool,uint,string)" + }, + { + "id": 5810, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5797, + "src": "23055:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5811, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5799, + "src": "23059:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5812, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5801, + "src": "23063:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5813, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5803, + "src": "23067:2:16", + "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": 5807, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23001:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5808, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23001:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23001:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5806, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "22985:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "22985:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5816, + "nodeType": "ExpressionStatement", + "src": "22985:86:16" + } + ] + }, + "id": 5818, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "22918:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5804, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5797, + "mutability": "mutable", + "name": "p0", + "nameLocation": "22927:2:16", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "22922:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5796, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22922:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5799, + "mutability": "mutable", + "name": "p1", + "nameLocation": "22936:2:16", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "22931:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5798, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "22931:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5801, + "mutability": "mutable", + "name": "p2", + "nameLocation": "22945:2:16", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "22940:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5800, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "22940:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5803, + "mutability": "mutable", + "name": "p3", + "nameLocation": "22963:2:16", + "nodeType": "VariableDeclaration", + "scope": 5818, + "src": "22949:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5802, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "22949:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "22921:45:16" + }, + "returnParameters": { + "id": 5805, + "nodeType": "ParameterList", + "parameters": [], + "src": "22981:0:16" + }, + "scope": 10925, + "src": "22909:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5840, + "nodeType": "Block", + "src": "23141:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c626f6f6c29", + "id": 5832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23185:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d2abc4fdef6f35f3785755f2ca3a26416b52c0c4c5ad8b27342fc84a56532f2f", + "typeString": "literal_string \"log(uint,bool,uint,bool)\"" + }, + "value": "log(uint,bool,uint,bool)" + }, + { + "id": 5833, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5820, + "src": "23213:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5834, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5822, + "src": "23217:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5835, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5824, + "src": "23221:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5836, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5826, + "src": "23225:2:16", + "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": 5830, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23161:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5831, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23161:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5837, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23161:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5829, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "23145:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23145:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5839, + "nodeType": "ExpressionStatement", + "src": "23145:84:16" + } + ] + }, + "id": 5841, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23087:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5827, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5820, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23096:2:16", + "nodeType": "VariableDeclaration", + "scope": 5841, + "src": "23091:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5819, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23091:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5822, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23105:2:16", + "nodeType": "VariableDeclaration", + "scope": 5841, + "src": "23100:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5821, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23100:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5824, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23114:2:16", + "nodeType": "VariableDeclaration", + "scope": 5841, + "src": "23109:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5823, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23109:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5826, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23123:2:16", + "nodeType": "VariableDeclaration", + "scope": 5841, + "src": "23118:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5825, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23118:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "23090:36:16" + }, + "returnParameters": { + "id": 5828, + "nodeType": "ParameterList", + "parameters": [], + "src": "23141:0:16" + }, + "scope": 10925, + "src": "23078:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5863, + "nodeType": "Block", + "src": "23302:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c75696e742c6164647265737329", + "id": 5855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23346:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4f40058ea8927b23c60661eeb28f54d3ce10f5f6cdd8e3ce445d34409ceb50a3", + "typeString": "literal_string \"log(uint,bool,uint,address)\"" + }, + "value": "log(uint,bool,uint,address)" + }, + { + "id": 5856, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5843, + "src": "23377:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5857, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5845, + "src": "23381:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5858, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5847, + "src": "23385:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5859, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5849, + "src": "23389:2:16", + "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": 5853, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23322:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5854, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23322:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5860, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23322:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5852, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "23306:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23306:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5862, + "nodeType": "ExpressionStatement", + "src": "23306:87:16" + } + ] + }, + "id": 5864, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23245:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5850, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5843, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23254:2:16", + "nodeType": "VariableDeclaration", + "scope": 5864, + "src": "23249:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5842, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23249:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5845, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23263:2:16", + "nodeType": "VariableDeclaration", + "scope": 5864, + "src": "23258:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5844, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23258:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5847, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23272:2:16", + "nodeType": "VariableDeclaration", + "scope": 5864, + "src": "23267:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5846, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23267:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5849, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23284:2:16", + "nodeType": "VariableDeclaration", + "scope": 5864, + "src": "23276:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5848, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23276:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "23248:39:16" + }, + "returnParameters": { + "id": 5851, + "nodeType": "ParameterList", + "parameters": [], + "src": "23302:0:16" + }, + "scope": 10925, + "src": "23236:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5886, + "nodeType": "Block", + "src": "23472:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c75696e7429", + "id": 5878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23516:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_915fdb28841654f5e04882ad0aa4f5de28bd90db1a700dae8b1eb5e67e36a012", + "typeString": "literal_string \"log(uint,bool,string,uint)\"" + }, + "value": "log(uint,bool,string,uint)" + }, + { + "id": 5879, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5866, + "src": "23546:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5880, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5868, + "src": "23550:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5881, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5870, + "src": "23554:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5882, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5872, + "src": "23558:2:16", + "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": 5876, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23492:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5877, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23492:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5883, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23492:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5875, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "23476:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23476:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5885, + "nodeType": "ExpressionStatement", + "src": "23476:86:16" + } + ] + }, + "id": 5887, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23409:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5873, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5866, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23418:2:16", + "nodeType": "VariableDeclaration", + "scope": 5887, + "src": "23413:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5865, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23413:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5868, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23427:2:16", + "nodeType": "VariableDeclaration", + "scope": 5887, + "src": "23422:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5867, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23422:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5870, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23445:2:16", + "nodeType": "VariableDeclaration", + "scope": 5887, + "src": "23431:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5869, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23431:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5872, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23454:2:16", + "nodeType": "VariableDeclaration", + "scope": 5887, + "src": "23449:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5871, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23449:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "23412:45:16" + }, + "returnParameters": { + "id": 5874, + "nodeType": "ParameterList", + "parameters": [], + "src": "23472:0:16" + }, + "scope": 10925, + "src": "23400:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5909, + "nodeType": "Block", + "src": "23650:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c737472696e6729", + "id": 5901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23694:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a433fcfd538cd0e077747fbb2c5a6453c1804c6ad4af653273e0d14ab4a0566a", + "typeString": "literal_string \"log(uint,bool,string,string)\"" + }, + "value": "log(uint,bool,string,string)" + }, + { + "id": 5902, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5889, + "src": "23726:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5903, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5891, + "src": "23730:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5904, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5893, + "src": "23734:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5905, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5895, + "src": "23738:2:16", + "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": 5899, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23670:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5900, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23670:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5906, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23670:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5898, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "23654:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23654:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5908, + "nodeType": "ExpressionStatement", + "src": "23654:88:16" + } + ] + }, + "id": 5910, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23578:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5896, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5889, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23587:2:16", + "nodeType": "VariableDeclaration", + "scope": 5910, + "src": "23582:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5888, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23582:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5891, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23596:2:16", + "nodeType": "VariableDeclaration", + "scope": 5910, + "src": "23591:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5890, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23591:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5893, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23614:2:16", + "nodeType": "VariableDeclaration", + "scope": 5910, + "src": "23600:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5892, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23600:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5895, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23632:2:16", + "nodeType": "VariableDeclaration", + "scope": 5910, + "src": "23618:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5894, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23618:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "23581:54:16" + }, + "returnParameters": { + "id": 5897, + "nodeType": "ParameterList", + "parameters": [], + "src": "23650:0:16" + }, + "scope": 10925, + "src": "23569:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5932, + "nodeType": "Block", + "src": "23821:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c626f6f6c29", + "id": 5924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "23865:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_346eb8c74221bcb2c0a69b8dde628b7e6175c4f090782c8f07996b251212e22d", + "typeString": "literal_string \"log(uint,bool,string,bool)\"" + }, + "value": "log(uint,bool,string,bool)" + }, + { + "id": 5925, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5912, + "src": "23895:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5926, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5914, + "src": "23899:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5927, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5916, + "src": "23903:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5928, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5918, + "src": "23907:2:16", + "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": 5922, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "23841:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5923, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "23841:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5929, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23841:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5921, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "23825:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23825:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5931, + "nodeType": "ExpressionStatement", + "src": "23825:86:16" + } + ] + }, + "id": 5933, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23758:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5919, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5912, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23767:2:16", + "nodeType": "VariableDeclaration", + "scope": 5933, + "src": "23762:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5911, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23762:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5914, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23776:2:16", + "nodeType": "VariableDeclaration", + "scope": 5933, + "src": "23771:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5913, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23771:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5916, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23794:2:16", + "nodeType": "VariableDeclaration", + "scope": 5933, + "src": "23780:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5915, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23780:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5918, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23803:2:16", + "nodeType": "VariableDeclaration", + "scope": 5933, + "src": "23798:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5917, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23798:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "23761:45:16" + }, + "returnParameters": { + "id": 5920, + "nodeType": "ParameterList", + "parameters": [], + "src": "23821:0:16" + }, + "scope": 10925, + "src": "23749:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5955, + "nodeType": "Block", + "src": "23993:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c737472696e672c6164647265737329", + "id": 5947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24037:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_496e2bb45f5cdd3680c3e807c53955b9de163e898851c7844433c0a9c91dcd9d", + "typeString": "literal_string \"log(uint,bool,string,address)\"" + }, + "value": "log(uint,bool,string,address)" + }, + { + "id": 5948, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5935, + "src": "24070:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5949, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5937, + "src": "24074:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5950, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5939, + "src": "24078:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 5951, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5941, + "src": "24082:2:16", + "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": 5945, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24013:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24013:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5952, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24013:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5944, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "23997:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "23997:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5954, + "nodeType": "ExpressionStatement", + "src": "23997:89:16" + } + ] + }, + "id": 5956, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "23927:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5942, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5935, + "mutability": "mutable", + "name": "p0", + "nameLocation": "23936:2:16", + "nodeType": "VariableDeclaration", + "scope": 5956, + "src": "23931:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5934, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "23931:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5937, + "mutability": "mutable", + "name": "p1", + "nameLocation": "23945:2:16", + "nodeType": "VariableDeclaration", + "scope": 5956, + "src": "23940:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5936, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "23940:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5939, + "mutability": "mutable", + "name": "p2", + "nameLocation": "23963:2:16", + "nodeType": "VariableDeclaration", + "scope": 5956, + "src": "23949:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5938, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "23949:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5941, + "mutability": "mutable", + "name": "p3", + "nameLocation": "23975:2:16", + "nodeType": "VariableDeclaration", + "scope": 5956, + "src": "23967:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 5940, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "23967:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "23930:48:16" + }, + "returnParameters": { + "id": 5943, + "nodeType": "ParameterList", + "parameters": [], + "src": "23993:0:16" + }, + "scope": 10925, + "src": "23918:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 5978, + "nodeType": "Block", + "src": "24156:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c75696e7429", + "id": 5970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24200:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bd25ad5987e2f3e90d5ff2c9e0dad802782e9040e45e823722ccf598278cf7ed", + "typeString": "literal_string \"log(uint,bool,bool,uint)\"" + }, + "value": "log(uint,bool,bool,uint)" + }, + { + "id": 5971, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5958, + "src": "24228:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5972, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5960, + "src": "24232:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5973, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5962, + "src": "24236:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5974, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5964, + "src": "24240:2:16", + "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": 5968, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24176:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24176:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24176:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5967, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "24160:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24160:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 5977, + "nodeType": "ExpressionStatement", + "src": "24160:84:16" + } + ] + }, + "id": 5979, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24102:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5965, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5958, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24111:2:16", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "24106:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5957, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24106:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5960, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24120:2:16", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "24115:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5959, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24115:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5962, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24129:2:16", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "24124:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5961, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24124:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5964, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24138:2:16", + "nodeType": "VariableDeclaration", + "scope": 5979, + "src": "24133:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5963, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24133:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24105:36:16" + }, + "returnParameters": { + "id": 5966, + "nodeType": "ParameterList", + "parameters": [], + "src": "24156:0:16" + }, + "scope": 10925, + "src": "24093:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6001, + "nodeType": "Block", + "src": "24323:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c737472696e6729", + "id": 5993, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24367:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_318ae59b506d4efe5cd02b34be9f24009f0134ab1136defc4789a09e425a8861", + "typeString": "literal_string \"log(uint,bool,bool,string)\"" + }, + "value": "log(uint,bool,bool,string)" + }, + { + "id": 5994, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5981, + "src": "24397:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 5995, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5983, + "src": "24401:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5996, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5985, + "src": "24405:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 5997, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 5987, + "src": "24409:2:16", + "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": 5991, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24343:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 5992, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24343:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 5998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24343:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 5990, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "24327:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 5999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24327:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6000, + "nodeType": "ExpressionStatement", + "src": "24327:86:16" + } + ] + }, + "id": 6002, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24260:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 5988, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 5981, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24269:2:16", + "nodeType": "VariableDeclaration", + "scope": 6002, + "src": "24264:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 5980, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24264:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5983, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24278:2:16", + "nodeType": "VariableDeclaration", + "scope": 6002, + "src": "24273:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5982, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24273:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5985, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24287:2:16", + "nodeType": "VariableDeclaration", + "scope": 6002, + "src": "24282:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 5984, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24282:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 5987, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24305:2:16", + "nodeType": "VariableDeclaration", + "scope": 6002, + "src": "24291:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 5986, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24291:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "24263:45:16" + }, + "returnParameters": { + "id": 5989, + "nodeType": "ParameterList", + "parameters": [], + "src": "24323:0:16" + }, + "scope": 10925, + "src": "24251:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6024, + "nodeType": "Block", + "src": "24483:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 6016, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24527:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4e6c5315e6998332ba87ae2545bc72447c94349a51e999446a98bfab04167b32", + "typeString": "literal_string \"log(uint,bool,bool,bool)\"" + }, + "value": "log(uint,bool,bool,bool)" + }, + { + "id": 6017, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6004, + "src": "24555:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6018, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6006, + "src": "24559:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6019, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6008, + "src": "24563:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6020, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6010, + "src": "24567:2:16", + "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": 6014, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24503:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6015, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24503:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6021, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24503:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6013, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "24487:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24487:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6023, + "nodeType": "ExpressionStatement", + "src": "24487:84:16" + } + ] + }, + "id": 6025, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24429:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6011, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6004, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24438:2:16", + "nodeType": "VariableDeclaration", + "scope": 6025, + "src": "24433:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6003, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24433:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6006, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24447:2:16", + "nodeType": "VariableDeclaration", + "scope": 6025, + "src": "24442:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6005, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24442:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6008, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24456:2:16", + "nodeType": "VariableDeclaration", + "scope": 6025, + "src": "24451:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6007, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24451:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6010, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24465:2:16", + "nodeType": "VariableDeclaration", + "scope": 6025, + "src": "24460:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6009, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24460:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "24432:36:16" + }, + "returnParameters": { + "id": 6012, + "nodeType": "ParameterList", + "parameters": [], + "src": "24483:0:16" + }, + "scope": 10925, + "src": "24420:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6047, + "nodeType": "Block", + "src": "24644:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c626f6f6c2c6164647265737329", + "id": 6039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24688:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5306225d3f6a0c340e12a634d8571b24a659d0fdcb96dd45e3bd062feb68355b", + "typeString": "literal_string \"log(uint,bool,bool,address)\"" + }, + "value": "log(uint,bool,bool,address)" + }, + { + "id": 6040, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6027, + "src": "24719:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6041, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6029, + "src": "24723:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6042, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6031, + "src": "24727:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6043, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6033, + "src": "24731:2:16", + "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": 6037, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24664:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6038, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24664:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6044, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24664:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6036, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "24648:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24648:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6046, + "nodeType": "ExpressionStatement", + "src": "24648:87:16" + } + ] + }, + "id": 6048, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24587:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6034, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6027, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24596:2:16", + "nodeType": "VariableDeclaration", + "scope": 6048, + "src": "24591:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6026, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24591:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6029, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24605:2:16", + "nodeType": "VariableDeclaration", + "scope": 6048, + "src": "24600:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6028, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24600:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6031, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24614:2:16", + "nodeType": "VariableDeclaration", + "scope": 6048, + "src": "24609:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6030, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24609:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6033, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24626:2:16", + "nodeType": "VariableDeclaration", + "scope": 6048, + "src": "24618:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6032, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24618:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "24590:39:16" + }, + "returnParameters": { + "id": 6035, + "nodeType": "ParameterList", + "parameters": [], + "src": "24644:0:16" + }, + "scope": 10925, + "src": "24578:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6070, + "nodeType": "Block", + "src": "24808:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c75696e7429", + "id": 6062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "24852:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_41b5ef3bc57cb6072d9bbab757f04e68fb78a6a8b29741a7b963761abce32fb1", + "typeString": "literal_string \"log(uint,bool,address,uint)\"" + }, + "value": "log(uint,bool,address,uint)" + }, + { + "id": 6063, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6050, + "src": "24883:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6064, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6052, + "src": "24887:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6065, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6054, + "src": "24891:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6066, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6056, + "src": "24895:2:16", + "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": 6060, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "24828:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "24828:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6067, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24828:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6059, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "24812:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24812:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6069, + "nodeType": "ExpressionStatement", + "src": "24812:87:16" + } + ] + }, + "id": 6071, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24751:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6057, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6050, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24760:2:16", + "nodeType": "VariableDeclaration", + "scope": 6071, + "src": "24755:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6049, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24755:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6052, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24769:2:16", + "nodeType": "VariableDeclaration", + "scope": 6071, + "src": "24764:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6051, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24764:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6054, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24781:2:16", + "nodeType": "VariableDeclaration", + "scope": 6071, + "src": "24773:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6053, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24773:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6056, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24790:2:16", + "nodeType": "VariableDeclaration", + "scope": 6071, + "src": "24785:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6055, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24785:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "24754:39:16" + }, + "returnParameters": { + "id": 6058, + "nodeType": "ParameterList", + "parameters": [], + "src": "24808:0:16" + }, + "scope": 10925, + "src": "24742:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6093, + "nodeType": "Block", + "src": "24981:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c737472696e6729", + "id": 6085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25025:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a230761e3811ae33e11d91e6667cf79e7e0ce8023ec276bdd69859f68587933c", + "typeString": "literal_string \"log(uint,bool,address,string)\"" + }, + "value": "log(uint,bool,address,string)" + }, + { + "id": 6086, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6073, + "src": "25058:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6087, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6075, + "src": "25062:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6088, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6077, + "src": "25066:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6089, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6079, + "src": "25070:2:16", + "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": 6083, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25001:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6084, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25001:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6090, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25001:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6082, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "24985:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "24985:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6092, + "nodeType": "ExpressionStatement", + "src": "24985:89:16" + } + ] + }, + "id": 6094, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "24915:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6080, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6073, + "mutability": "mutable", + "name": "p0", + "nameLocation": "24924:2:16", + "nodeType": "VariableDeclaration", + "scope": 6094, + "src": "24919:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6072, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "24919:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6075, + "mutability": "mutable", + "name": "p1", + "nameLocation": "24933:2:16", + "nodeType": "VariableDeclaration", + "scope": 6094, + "src": "24928:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6074, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "24928:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6077, + "mutability": "mutable", + "name": "p2", + "nameLocation": "24945:2:16", + "nodeType": "VariableDeclaration", + "scope": 6094, + "src": "24937:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6076, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "24937:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6079, + "mutability": "mutable", + "name": "p3", + "nameLocation": "24963:2:16", + "nodeType": "VariableDeclaration", + "scope": 6094, + "src": "24949:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6078, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "24949:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "24918:48:16" + }, + "returnParameters": { + "id": 6081, + "nodeType": "ParameterList", + "parameters": [], + "src": "24981:0:16" + }, + "scope": 10925, + "src": "24906:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6116, + "nodeType": "Block", + "src": "25147:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c626f6f6c29", + "id": 6108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25191:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_91fb124272873b32f25c28f6935451e3d46ffd78ac8ebaaa0e096a7942db5445", + "typeString": "literal_string \"log(uint,bool,address,bool)\"" + }, + "value": "log(uint,bool,address,bool)" + }, + { + "id": 6109, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6096, + "src": "25222:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6110, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6098, + "src": "25226:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6111, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6100, + "src": "25230:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6112, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6102, + "src": "25234:2:16", + "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": 6106, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25167:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6107, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25167:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6113, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25167:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6105, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "25151:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25151:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6115, + "nodeType": "ExpressionStatement", + "src": "25151:87:16" + } + ] + }, + "id": 6117, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25090:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6103, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6096, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25099:2:16", + "nodeType": "VariableDeclaration", + "scope": 6117, + "src": "25094:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6095, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25094:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6098, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25108:2:16", + "nodeType": "VariableDeclaration", + "scope": 6117, + "src": "25103:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6097, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25103:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6100, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25120:2:16", + "nodeType": "VariableDeclaration", + "scope": 6117, + "src": "25112:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6099, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25112:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6102, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25129:2:16", + "nodeType": "VariableDeclaration", + "scope": 6117, + "src": "25124:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6101, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25124:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "25093:39:16" + }, + "returnParameters": { + "id": 6104, + "nodeType": "ParameterList", + "parameters": [], + "src": "25147:0:16" + }, + "scope": 10925, + "src": "25081:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6139, + "nodeType": "Block", + "src": "25314:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c626f6f6c2c616464726573732c6164647265737329", + "id": 6131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25358:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_86edc10cd85187c3b3f180e68e570c794e768808cdffe5158045d6f841ae33f2", + "typeString": "literal_string \"log(uint,bool,address,address)\"" + }, + "value": "log(uint,bool,address,address)" + }, + { + "id": 6132, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6119, + "src": "25392:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6133, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6121, + "src": "25396:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6134, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6123, + "src": "25400:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6135, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6125, + "src": "25404:2:16", + "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": 6129, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25334:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6130, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25334:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6136, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25334:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6128, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "25318:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25318:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6138, + "nodeType": "ExpressionStatement", + "src": "25318:90:16" + } + ] + }, + "id": 6140, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25254:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6126, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6119, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25263:2:16", + "nodeType": "VariableDeclaration", + "scope": 6140, + "src": "25258:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6118, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25258:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6121, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25272:2:16", + "nodeType": "VariableDeclaration", + "scope": 6140, + "src": "25267:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6120, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25267:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6123, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25284:2:16", + "nodeType": "VariableDeclaration", + "scope": 6140, + "src": "25276:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6122, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25276:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6125, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25296:2:16", + "nodeType": "VariableDeclaration", + "scope": 6140, + "src": "25288:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6124, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25288:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "25257:42:16" + }, + "returnParameters": { + "id": 6127, + "nodeType": "ParameterList", + "parameters": [], + "src": "25314:0:16" + }, + "scope": 10925, + "src": "25245:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6162, + "nodeType": "Block", + "src": "25481:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c75696e742c75696e7429", + "id": 6154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25525:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ca9a3eb4a61979ee5cc1814fa8df2504ab7831148afaa3d4c17622578eab7412", + "typeString": "literal_string \"log(uint,address,uint,uint)\"" + }, + "value": "log(uint,address,uint,uint)" + }, + { + "id": 6155, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6142, + "src": "25556:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6156, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6144, + "src": "25560:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6157, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6146, + "src": "25564:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6158, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6148, + "src": "25568:2:16", + "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": 6152, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25501:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6153, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25501:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25501:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6151, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "25485:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25485:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6161, + "nodeType": "ExpressionStatement", + "src": "25485:87:16" + } + ] + }, + "id": 6163, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25424:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6142, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25433:2:16", + "nodeType": "VariableDeclaration", + "scope": 6163, + "src": "25428:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6141, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25428:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6144, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25445:2:16", + "nodeType": "VariableDeclaration", + "scope": 6163, + "src": "25437:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25437:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6146, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25454:2:16", + "nodeType": "VariableDeclaration", + "scope": 6163, + "src": "25449:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6145, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25449:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6148, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25463:2:16", + "nodeType": "VariableDeclaration", + "scope": 6163, + "src": "25458:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6147, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25458:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "25427:39:16" + }, + "returnParameters": { + "id": 6150, + "nodeType": "ParameterList", + "parameters": [], + "src": "25481:0:16" + }, + "scope": 10925, + "src": "25415:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6185, + "nodeType": "Block", + "src": "25654:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c75696e742c737472696e6729", + "id": 6177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25698:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3ed3bd282d1a27244fa4d3668aff783448c1a1864ff920057fa9f1c8144bb10b", + "typeString": "literal_string \"log(uint,address,uint,string)\"" + }, + "value": "log(uint,address,uint,string)" + }, + { + "id": 6178, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6165, + "src": "25731:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6179, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6167, + "src": "25735:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6180, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6169, + "src": "25739:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6181, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6171, + "src": "25743:2:16", + "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": 6175, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25674:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25674:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25674:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6174, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "25658:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25658:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6184, + "nodeType": "ExpressionStatement", + "src": "25658:89:16" + } + ] + }, + "id": 6186, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25588:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6165, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25597:2:16", + "nodeType": "VariableDeclaration", + "scope": 6186, + "src": "25592:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6164, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25592:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6167, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25609:2:16", + "nodeType": "VariableDeclaration", + "scope": 6186, + "src": "25601:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25601:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6169, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25618:2:16", + "nodeType": "VariableDeclaration", + "scope": 6186, + "src": "25613:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6168, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25613:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6171, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25636:2:16", + "nodeType": "VariableDeclaration", + "scope": 6186, + "src": "25622:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6170, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "25622:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "25591:48:16" + }, + "returnParameters": { + "id": 6173, + "nodeType": "ParameterList", + "parameters": [], + "src": "25654:0:16" + }, + "scope": 10925, + "src": "25579:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6208, + "nodeType": "Block", + "src": "25820:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c75696e742c626f6f6c29", + "id": 6200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "25864:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_19f67369d42bc0582d07ae744348ad46b79a6c16f354e3d3fb3c6bff2ecfa9f8", + "typeString": "literal_string \"log(uint,address,uint,bool)\"" + }, + "value": "log(uint,address,uint,bool)" + }, + { + "id": 6201, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6188, + "src": "25895:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6202, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6190, + "src": "25899:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6203, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6192, + "src": "25903:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6204, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6194, + "src": "25907:2:16", + "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": 6198, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "25840:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6199, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "25840:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6205, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25840:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6197, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "25824:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25824:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6207, + "nodeType": "ExpressionStatement", + "src": "25824:87:16" + } + ] + }, + "id": 6209, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25763:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6195, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6188, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25772:2:16", + "nodeType": "VariableDeclaration", + "scope": 6209, + "src": "25767:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6187, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25767:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6190, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25784:2:16", + "nodeType": "VariableDeclaration", + "scope": 6209, + "src": "25776:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6189, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25776:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6192, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25793:2:16", + "nodeType": "VariableDeclaration", + "scope": 6209, + "src": "25788:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6191, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25788:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6194, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25802:2:16", + "nodeType": "VariableDeclaration", + "scope": 6209, + "src": "25797:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6193, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "25797:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "25766:39:16" + }, + "returnParameters": { + "id": 6196, + "nodeType": "ParameterList", + "parameters": [], + "src": "25820:0:16" + }, + "scope": 10925, + "src": "25754:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6231, + "nodeType": "Block", + "src": "25987:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c75696e742c6164647265737329", + "id": 6223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26031:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fdb2ecd415c75df8f66285a054607fa1335126fb1d8930dfc21744a3de7298e3", + "typeString": "literal_string \"log(uint,address,uint,address)\"" + }, + "value": "log(uint,address,uint,address)" + }, + { + "id": 6224, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6211, + "src": "26065:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6225, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6213, + "src": "26069:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6226, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6215, + "src": "26073:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6227, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6217, + "src": "26077:2:16", + "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": 6221, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26007:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6222, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26007:23:16", + "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": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26007:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6220, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "25991:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "25991:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6230, + "nodeType": "ExpressionStatement", + "src": "25991:90:16" + } + ] + }, + "id": 6232, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "25927:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6218, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6211, + "mutability": "mutable", + "name": "p0", + "nameLocation": "25936:2:16", + "nodeType": "VariableDeclaration", + "scope": 6232, + "src": "25931:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6210, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25931:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6213, + "mutability": "mutable", + "name": "p1", + "nameLocation": "25948:2:16", + "nodeType": "VariableDeclaration", + "scope": 6232, + "src": "25940:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25940:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6215, + "mutability": "mutable", + "name": "p2", + "nameLocation": "25957:2:16", + "nodeType": "VariableDeclaration", + "scope": 6232, + "src": "25952:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6214, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "25952:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6217, + "mutability": "mutable", + "name": "p3", + "nameLocation": "25969:2:16", + "nodeType": "VariableDeclaration", + "scope": 6232, + "src": "25961:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6216, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "25961:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "25930:42:16" + }, + "returnParameters": { + "id": 6219, + "nodeType": "ParameterList", + "parameters": [], + "src": "25987:0:16" + }, + "scope": 10925, + "src": "25918:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6254, + "nodeType": "Block", + "src": "26163:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c737472696e672c75696e7429", + "id": 6246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26207:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0c414e8ba2ea65b865dd0bf68b2357e81261b47f237c68a4a8a63051bbef2eb", + "typeString": "literal_string \"log(uint,address,string,uint)\"" + }, + "value": "log(uint,address,string,uint)" + }, + { + "id": 6247, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6234, + "src": "26240:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6248, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6236, + "src": "26244:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6249, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6238, + "src": "26248:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6250, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6240, + "src": "26252:2:16", + "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": 6244, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26183:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6245, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26183:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6251, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26183:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6243, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "26167:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26167:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6253, + "nodeType": "ExpressionStatement", + "src": "26167:89:16" + } + ] + }, + "id": 6255, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26097:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6241, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6234, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26106:2:16", + "nodeType": "VariableDeclaration", + "scope": 6255, + "src": "26101:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6233, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26101:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6236, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26118:2:16", + "nodeType": "VariableDeclaration", + "scope": 6255, + "src": "26110:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6235, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26110:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6238, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26136:2:16", + "nodeType": "VariableDeclaration", + "scope": 6255, + "src": "26122:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6237, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26122:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6240, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26145:2:16", + "nodeType": "VariableDeclaration", + "scope": 6255, + "src": "26140:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6239, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26140:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26100:48:16" + }, + "returnParameters": { + "id": 6242, + "nodeType": "ParameterList", + "parameters": [], + "src": "26163:0:16" + }, + "scope": 10925, + "src": "26088:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6277, + "nodeType": "Block", + "src": "26347:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c737472696e672c737472696e6729", + "id": 6269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26391:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8d778624e1d83269ce0415864bb54677b540f778c6b8503cf9035bc7517326f1", + "typeString": "literal_string \"log(uint,address,string,string)\"" + }, + "value": "log(uint,address,string,string)" + }, + { + "id": 6270, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6257, + "src": "26426:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6271, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6259, + "src": "26430:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6272, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6261, + "src": "26434:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6273, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6263, + "src": "26438:2:16", + "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": 6267, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26367:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6268, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26367:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6274, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26367:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6266, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "26351:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26351:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6276, + "nodeType": "ExpressionStatement", + "src": "26351:91:16" + } + ] + }, + "id": 6278, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26272:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6264, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6257, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26281:2:16", + "nodeType": "VariableDeclaration", + "scope": 6278, + "src": "26276:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6256, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26276:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6259, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26293:2:16", + "nodeType": "VariableDeclaration", + "scope": 6278, + "src": "26285:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6258, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26285:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6261, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26311:2:16", + "nodeType": "VariableDeclaration", + "scope": 6278, + "src": "26297:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6260, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26297:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6263, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26329:2:16", + "nodeType": "VariableDeclaration", + "scope": 6278, + "src": "26315:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6262, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26315:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "26275:57:16" + }, + "returnParameters": { + "id": 6265, + "nodeType": "ParameterList", + "parameters": [], + "src": "26347:0:16" + }, + "scope": 10925, + "src": "26263:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6300, + "nodeType": "Block", + "src": "26524:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c737472696e672c626f6f6c29", + "id": 6292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26568:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_22a479a660b74b7598155f369ed227a5a93527fbdb04ff6f78fbf35fa23aacbf", + "typeString": "literal_string \"log(uint,address,string,bool)\"" + }, + "value": "log(uint,address,string,bool)" + }, + { + "id": 6293, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6280, + "src": "26601:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6294, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6282, + "src": "26605:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6295, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6284, + "src": "26609:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6296, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6286, + "src": "26613:2:16", + "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": 6290, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26544:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6291, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26544:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6297, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26544:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6289, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "26528:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26528:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6299, + "nodeType": "ExpressionStatement", + "src": "26528:89:16" + } + ] + }, + "id": 6301, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26458:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6287, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6280, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26467:2:16", + "nodeType": "VariableDeclaration", + "scope": 6301, + "src": "26462:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6279, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26462:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6282, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26479:2:16", + "nodeType": "VariableDeclaration", + "scope": 6301, + "src": "26471:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6281, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26471:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6284, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26497:2:16", + "nodeType": "VariableDeclaration", + "scope": 6301, + "src": "26483:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6283, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26483:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6286, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26506:2:16", + "nodeType": "VariableDeclaration", + "scope": 6301, + "src": "26501:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6285, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26501:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "26461:48:16" + }, + "returnParameters": { + "id": 6288, + "nodeType": "ParameterList", + "parameters": [], + "src": "26524:0:16" + }, + "scope": 10925, + "src": "26449:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6323, + "nodeType": "Block", + "src": "26702:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c737472696e672c6164647265737329", + "id": 6315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26746:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cbe58efddc067d74914c3479914810966ae688ac66ca2bbcae69cd9d0395796f", + "typeString": "literal_string \"log(uint,address,string,address)\"" + }, + "value": "log(uint,address,string,address)" + }, + { + "id": 6316, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6303, + "src": "26782:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6317, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6305, + "src": "26786:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6318, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6307, + "src": "26790:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6319, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6309, + "src": "26794:2:16", + "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": 6313, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26722:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6314, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26722:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6320, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26722:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6312, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "26706:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26706:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6322, + "nodeType": "ExpressionStatement", + "src": "26706:92:16" + } + ] + }, + "id": 6324, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26633:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6303, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26642:2:16", + "nodeType": "VariableDeclaration", + "scope": 6324, + "src": "26637:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6302, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26637:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6305, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26654:2:16", + "nodeType": "VariableDeclaration", + "scope": 6324, + "src": "26646:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26646:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6307, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26672:2:16", + "nodeType": "VariableDeclaration", + "scope": 6324, + "src": "26658:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6306, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "26658:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6309, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26684:2:16", + "nodeType": "VariableDeclaration", + "scope": 6324, + "src": "26676:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26676:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "26636:51:16" + }, + "returnParameters": { + "id": 6311, + "nodeType": "ParameterList", + "parameters": [], + "src": "26702:0:16" + }, + "scope": 10925, + "src": "26624:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6346, + "nodeType": "Block", + "src": "26871:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c75696e7429", + "id": 6338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "26915:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7b08e8ebd6be8a04c54551194ba5143f1a555d43fe60d53843383a9915eeccb2", + "typeString": "literal_string \"log(uint,address,bool,uint)\"" + }, + "value": "log(uint,address,bool,uint)" + }, + { + "id": 6339, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6326, + "src": "26946:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6340, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6328, + "src": "26950:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6341, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6330, + "src": "26954:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6342, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6332, + "src": "26958:2:16", + "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": 6336, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "26891:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6337, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "26891:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6343, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26891:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6335, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "26875:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "26875:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6345, + "nodeType": "ExpressionStatement", + "src": "26875:87:16" + } + ] + }, + "id": 6347, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26814:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6333, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6326, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26823:2:16", + "nodeType": "VariableDeclaration", + "scope": 6347, + "src": "26818:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6325, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26818:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6328, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26835:2:16", + "nodeType": "VariableDeclaration", + "scope": 6347, + "src": "26827:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6327, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26827:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6330, + "mutability": "mutable", + "name": "p2", + "nameLocation": "26844:2:16", + "nodeType": "VariableDeclaration", + "scope": 6347, + "src": "26839:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6329, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "26839:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6332, + "mutability": "mutable", + "name": "p3", + "nameLocation": "26853:2:16", + "nodeType": "VariableDeclaration", + "scope": 6347, + "src": "26848:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6331, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26848:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "26817:39:16" + }, + "returnParameters": { + "id": 6334, + "nodeType": "ParameterList", + "parameters": [], + "src": "26871:0:16" + }, + "scope": 10925, + "src": "26805:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6369, + "nodeType": "Block", + "src": "27044:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c737472696e6729", + "id": 6361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27088:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_63f0e24221aeb6c531ea500a191ac35497bf48695fb29864fe57726a12d605c6", + "typeString": "literal_string \"log(uint,address,bool,string)\"" + }, + "value": "log(uint,address,bool,string)" + }, + { + "id": 6362, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6349, + "src": "27121:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6363, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6351, + "src": "27125:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6364, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6353, + "src": "27129:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6365, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6355, + "src": "27133:2:16", + "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": 6359, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27064:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6360, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27064:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6366, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27064:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6358, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "27048:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27048:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6368, + "nodeType": "ExpressionStatement", + "src": "27048:89:16" + } + ] + }, + "id": 6370, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "26978:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6356, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6349, + "mutability": "mutable", + "name": "p0", + "nameLocation": "26987:2:16", + "nodeType": "VariableDeclaration", + "scope": 6370, + "src": "26982:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6348, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "26982:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6351, + "mutability": "mutable", + "name": "p1", + "nameLocation": "26999:2:16", + "nodeType": "VariableDeclaration", + "scope": 6370, + "src": "26991:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6350, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "26991:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6353, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27008:2:16", + "nodeType": "VariableDeclaration", + "scope": 6370, + "src": "27003:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6352, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27003:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6355, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27026:2:16", + "nodeType": "VariableDeclaration", + "scope": 6370, + "src": "27012:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6354, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27012:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "26981:48:16" + }, + "returnParameters": { + "id": 6357, + "nodeType": "ParameterList", + "parameters": [], + "src": "27044:0:16" + }, + "scope": 10925, + "src": "26969:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6392, + "nodeType": "Block", + "src": "27210:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c626f6f6c29", + "id": 6384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27254:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e27410dc86ab22a92f2a269c9cf538b707bde3ac248f933df1f4d0b76947d32", + "typeString": "literal_string \"log(uint,address,bool,bool)\"" + }, + "value": "log(uint,address,bool,bool)" + }, + { + "id": 6385, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6372, + "src": "27285:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6386, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6374, + "src": "27289:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6387, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6376, + "src": "27293:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6388, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6378, + "src": "27297:2:16", + "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": 6382, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27230:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6383, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27230:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6389, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27230:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6381, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "27214:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27214:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6391, + "nodeType": "ExpressionStatement", + "src": "27214:87:16" + } + ] + }, + "id": 6393, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27153:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6379, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6372, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27162:2:16", + "nodeType": "VariableDeclaration", + "scope": 6393, + "src": "27157:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6371, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27157:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6374, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27174:2:16", + "nodeType": "VariableDeclaration", + "scope": 6393, + "src": "27166:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6373, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27166:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6376, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27183:2:16", + "nodeType": "VariableDeclaration", + "scope": 6393, + "src": "27178:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6375, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27178:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6378, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27192:2:16", + "nodeType": "VariableDeclaration", + "scope": 6393, + "src": "27187:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6377, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27187:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "27156:39:16" + }, + "returnParameters": { + "id": 6380, + "nodeType": "ParameterList", + "parameters": [], + "src": "27210:0:16" + }, + "scope": 10925, + "src": "27144:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6415, + "nodeType": "Block", + "src": "27377:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c626f6f6c2c6164647265737329", + "id": 6407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27421:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b6313094a820841f3156e32d271c63cceded7f62875d471e1e87ef33ec252789", + "typeString": "literal_string \"log(uint,address,bool,address)\"" + }, + "value": "log(uint,address,bool,address)" + }, + { + "id": 6408, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6395, + "src": "27455:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6409, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6397, + "src": "27459:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6410, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6399, + "src": "27463:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6411, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6401, + "src": "27467:2:16", + "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": 6405, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27397:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6406, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27397:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27397:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6404, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "27381:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27381:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6414, + "nodeType": "ExpressionStatement", + "src": "27381:90:16" + } + ] + }, + "id": 6416, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27317:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6402, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6395, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27326:2:16", + "nodeType": "VariableDeclaration", + "scope": 6416, + "src": "27321:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6394, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27321:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6397, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27338:2:16", + "nodeType": "VariableDeclaration", + "scope": 6416, + "src": "27330:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6396, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27330:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6399, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27347:2:16", + "nodeType": "VariableDeclaration", + "scope": 6416, + "src": "27342:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6398, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27342:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6401, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27359:2:16", + "nodeType": "VariableDeclaration", + "scope": 6416, + "src": "27351:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6400, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27351:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "27320:42:16" + }, + "returnParameters": { + "id": 6403, + "nodeType": "ParameterList", + "parameters": [], + "src": "27377:0:16" + }, + "scope": 10925, + "src": "27308:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6438, + "nodeType": "Block", + "src": "27547:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c616464726573732c75696e7429", + "id": 6430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27591:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9a3cbf9603c94c357c6f62b7a32789d9ca5caa81518d1277c9ca986a5650734b", + "typeString": "literal_string \"log(uint,address,address,uint)\"" + }, + "value": "log(uint,address,address,uint)" + }, + { + "id": 6431, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6418, + "src": "27625:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6432, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6420, + "src": "27629:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6433, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6422, + "src": "27633:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6434, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6424, + "src": "27637:2:16", + "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": 6428, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27567:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6429, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27567:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6435, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27567:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6427, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "27551:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27551:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6437, + "nodeType": "ExpressionStatement", + "src": "27551:90:16" + } + ] + }, + "id": 6439, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27487:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6425, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6418, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27496:2:16", + "nodeType": "VariableDeclaration", + "scope": 6439, + "src": "27491:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6417, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27491:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6420, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27508:2:16", + "nodeType": "VariableDeclaration", + "scope": 6439, + "src": "27500:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6419, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27500:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6422, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27520:2:16", + "nodeType": "VariableDeclaration", + "scope": 6439, + "src": "27512:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6421, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27512:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6424, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27529:2:16", + "nodeType": "VariableDeclaration", + "scope": 6439, + "src": "27524:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6423, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27524:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "27490:42:16" + }, + "returnParameters": { + "id": 6426, + "nodeType": "ParameterList", + "parameters": [], + "src": "27547:0:16" + }, + "scope": 10925, + "src": "27478:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6461, + "nodeType": "Block", + "src": "27726:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c616464726573732c737472696e6729", + "id": 6453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27770:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7943dc6627d308affd474fe50b563bcfbf09518236383b806f11730459213622", + "typeString": "literal_string \"log(uint,address,address,string)\"" + }, + "value": "log(uint,address,address,string)" + }, + { + "id": 6454, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6441, + "src": "27806:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6455, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6443, + "src": "27810:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6456, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6445, + "src": "27814:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6457, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6447, + "src": "27818:2:16", + "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": 6451, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27746:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27746:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27746:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6450, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "27730:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27730:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6460, + "nodeType": "ExpressionStatement", + "src": "27730:92:16" + } + ] + }, + "id": 6462, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27657:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6448, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6441, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27666:2:16", + "nodeType": "VariableDeclaration", + "scope": 6462, + "src": "27661:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6440, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27661:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6443, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27678:2:16", + "nodeType": "VariableDeclaration", + "scope": 6462, + "src": "27670:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6442, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27670:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6445, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27690:2:16", + "nodeType": "VariableDeclaration", + "scope": 6462, + "src": "27682:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27682:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6447, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27708:2:16", + "nodeType": "VariableDeclaration", + "scope": 6462, + "src": "27694:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6446, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "27694:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "27660:51:16" + }, + "returnParameters": { + "id": 6449, + "nodeType": "ParameterList", + "parameters": [], + "src": "27726:0:16" + }, + "scope": 10925, + "src": "27648:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6484, + "nodeType": "Block", + "src": "27898:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c616464726573732c626f6f6c29", + "id": 6476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "27942:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_01550b04ea9916da7bc495d1b5ca5c4bd8d92ef3a98e2cca5a948cec5011f38c", + "typeString": "literal_string \"log(uint,address,address,bool)\"" + }, + "value": "log(uint,address,address,bool)" + }, + { + "id": 6477, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6464, + "src": "27976:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6478, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6466, + "src": "27980:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6479, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6468, + "src": "27984:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6480, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6470, + "src": "27988:2:16", + "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": 6474, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "27918:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6475, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "27918:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6481, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27918:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6473, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "27902:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "27902:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6483, + "nodeType": "ExpressionStatement", + "src": "27902:90:16" + } + ] + }, + "id": 6485, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "27838:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6471, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6464, + "mutability": "mutable", + "name": "p0", + "nameLocation": "27847:2:16", + "nodeType": "VariableDeclaration", + "scope": 6485, + "src": "27842:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6463, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "27842:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6466, + "mutability": "mutable", + "name": "p1", + "nameLocation": "27859:2:16", + "nodeType": "VariableDeclaration", + "scope": 6485, + "src": "27851:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27851:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6468, + "mutability": "mutable", + "name": "p2", + "nameLocation": "27871:2:16", + "nodeType": "VariableDeclaration", + "scope": 6485, + "src": "27863:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6467, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "27863:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6470, + "mutability": "mutable", + "name": "p3", + "nameLocation": "27880:2:16", + "nodeType": "VariableDeclaration", + "scope": 6485, + "src": "27875:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6469, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "27875:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "27841:42:16" + }, + "returnParameters": { + "id": 6472, + "nodeType": "ParameterList", + "parameters": [], + "src": "27898:0:16" + }, + "scope": 10925, + "src": "27829:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6507, + "nodeType": "Block", + "src": "28071:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f672875696e742c616464726573732c616464726573732c6164647265737329", + "id": 6499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28115:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_554745f9e6550eea6000ea2febc94de95d453100d5d60359e62cd398b366bfc4", + "typeString": "literal_string \"log(uint,address,address,address)\"" + }, + "value": "log(uint,address,address,address)" + }, + { + "id": 6500, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6487, + "src": "28152:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6501, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6489, + "src": "28156:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6502, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6491, + "src": "28160:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6503, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6493, + "src": "28164:2:16", + "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": 6497, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28091:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6498, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28091:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6504, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28091:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6496, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "28075:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28075:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6506, + "nodeType": "ExpressionStatement", + "src": "28075:93:16" + } + ] + }, + "id": 6508, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28008:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6487, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28017:2:16", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "28012:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6486, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28012:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6489, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28029:2:16", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "28021:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28021:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6491, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28041:2:16", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "28033:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6490, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28033:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6493, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28053:2:16", + "nodeType": "VariableDeclaration", + "scope": 6508, + "src": "28045:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6492, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28045:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "28011:45:16" + }, + "returnParameters": { + "id": 6495, + "nodeType": "ParameterList", + "parameters": [], + "src": "28071:0:16" + }, + "scope": 10925, + "src": "27999:173:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6530, + "nodeType": "Block", + "src": "28247:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c75696e742c75696e7429", + "id": 6522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28291:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_08ee5666d6bd329d27af528e563bb238dedf631fe471effe31c7123dcb5164f2", + "typeString": "literal_string \"log(string,uint,uint,uint)\"" + }, + "value": "log(string,uint,uint,uint)" + }, + { + "id": 6523, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6510, + "src": "28321:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6524, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6512, + "src": "28325:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6525, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6514, + "src": "28329:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6526, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6516, + "src": "28333:2:16", + "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": 6520, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28267:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6521, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28267:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28267:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6519, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "28251:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28251:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6529, + "nodeType": "ExpressionStatement", + "src": "28251:86:16" + } + ] + }, + "id": 6531, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28184:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6517, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6510, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28202:2:16", + "nodeType": "VariableDeclaration", + "scope": 6531, + "src": "28188:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6509, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28188:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6512, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28211:2:16", + "nodeType": "VariableDeclaration", + "scope": 6531, + "src": "28206:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6511, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28206:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6514, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28220:2:16", + "nodeType": "VariableDeclaration", + "scope": 6531, + "src": "28215:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6513, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28215:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6516, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28229:2:16", + "nodeType": "VariableDeclaration", + "scope": 6531, + "src": "28224:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6515, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28224:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "28187:45:16" + }, + "returnParameters": { + "id": 6518, + "nodeType": "ParameterList", + "parameters": [], + "src": "28247:0:16" + }, + "scope": 10925, + "src": "28175:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6553, + "nodeType": "Block", + "src": "28425:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c75696e742c737472696e6729", + "id": 6545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28469:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a54ed4bdd39588715cd10f1b9730ac9f0db064013c8dc11e216fa2ef3a5948b8", + "typeString": "literal_string \"log(string,uint,uint,string)\"" + }, + "value": "log(string,uint,uint,string)" + }, + { + "id": 6546, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6533, + "src": "28501:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6547, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6535, + "src": "28505:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6548, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6537, + "src": "28509:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6549, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6539, + "src": "28513:2:16", + "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": 6543, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28445:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6544, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28445:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6550, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28445:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6542, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "28429:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28429:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6552, + "nodeType": "ExpressionStatement", + "src": "28429:88:16" + } + ] + }, + "id": 6554, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28353:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6540, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6533, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28371:2:16", + "nodeType": "VariableDeclaration", + "scope": 6554, + "src": "28357:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6532, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28357:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6535, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28380:2:16", + "nodeType": "VariableDeclaration", + "scope": 6554, + "src": "28375:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6534, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28375:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6537, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28389:2:16", + "nodeType": "VariableDeclaration", + "scope": 6554, + "src": "28384:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6536, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28384:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6539, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28407:2:16", + "nodeType": "VariableDeclaration", + "scope": 6554, + "src": "28393:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6538, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28393:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "28356:54:16" + }, + "returnParameters": { + "id": 6541, + "nodeType": "ParameterList", + "parameters": [], + "src": "28425:0:16" + }, + "scope": 10925, + "src": "28344:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6576, + "nodeType": "Block", + "src": "28596:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c75696e742c626f6f6c29", + "id": 6568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28640:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f73c7e3dc5b5cecd5787e08e359612e609c17649291b138c8f184ee441526f2d", + "typeString": "literal_string \"log(string,uint,uint,bool)\"" + }, + "value": "log(string,uint,uint,bool)" + }, + { + "id": 6569, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6556, + "src": "28670:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6570, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6558, + "src": "28674:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6571, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6560, + "src": "28678:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6572, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6562, + "src": "28682:2:16", + "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": 6566, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28616:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6567, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28616:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6573, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28616:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6565, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "28600:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28600:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6575, + "nodeType": "ExpressionStatement", + "src": "28600:86:16" + } + ] + }, + "id": 6577, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28533:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6563, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6556, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28551:2:16", + "nodeType": "VariableDeclaration", + "scope": 6577, + "src": "28537:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6555, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28537:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6558, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28560:2:16", + "nodeType": "VariableDeclaration", + "scope": 6577, + "src": "28555:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6557, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28555:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6560, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28569:2:16", + "nodeType": "VariableDeclaration", + "scope": 6577, + "src": "28564:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6559, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28564:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6562, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28578:2:16", + "nodeType": "VariableDeclaration", + "scope": 6577, + "src": "28573:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6561, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "28573:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "28536:45:16" + }, + "returnParameters": { + "id": 6564, + "nodeType": "ParameterList", + "parameters": [], + "src": "28596:0:16" + }, + "scope": 10925, + "src": "28524:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6599, + "nodeType": "Block", + "src": "28768:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c75696e742c6164647265737329", + "id": 6591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28812:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bed728bf5bf9afc41a2cff142cfc289808bbba64cbab683d8e6689e6f6f14abc", + "typeString": "literal_string \"log(string,uint,uint,address)\"" + }, + "value": "log(string,uint,uint,address)" + }, + { + "id": 6592, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6579, + "src": "28845:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6593, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6581, + "src": "28849:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6594, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6583, + "src": "28853:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6595, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6585, + "src": "28857:2:16", + "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": 6589, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28788:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6590, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28788:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6596, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28788:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6588, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "28772:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28772:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6598, + "nodeType": "ExpressionStatement", + "src": "28772:89:16" + } + ] + }, + "id": 6600, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28702:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6586, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6579, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28720:2:16", + "nodeType": "VariableDeclaration", + "scope": 6600, + "src": "28706:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6578, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28706:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6581, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28729:2:16", + "nodeType": "VariableDeclaration", + "scope": 6600, + "src": "28724:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6580, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28724:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6583, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28738:2:16", + "nodeType": "VariableDeclaration", + "scope": 6600, + "src": "28733:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6582, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28733:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6585, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28750:2:16", + "nodeType": "VariableDeclaration", + "scope": 6600, + "src": "28742:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6584, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "28742:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "28705:48:16" + }, + "returnParameters": { + "id": 6587, + "nodeType": "ParameterList", + "parameters": [], + "src": "28768:0:16" + }, + "scope": 10925, + "src": "28693:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6622, + "nodeType": "Block", + "src": "28949:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c75696e7429", + "id": 6614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "28993:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0c4b225a555b1198e8b1e32117070e759cad9a7266d99901b8a7fd2482d0e2f", + "typeString": "literal_string \"log(string,uint,string,uint)\"" + }, + "value": "log(string,uint,string,uint)" + }, + { + "id": 6615, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6602, + "src": "29025:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6616, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6604, + "src": "29029:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6617, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6606, + "src": "29033:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6618, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6608, + "src": "29037:2:16", + "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": 6612, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "28969:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6613, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "28969:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6619, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28969:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6611, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "28953:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "28953:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6621, + "nodeType": "ExpressionStatement", + "src": "28953:88:16" + } + ] + }, + "id": 6623, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "28877:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6609, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6602, + "mutability": "mutable", + "name": "p0", + "nameLocation": "28895:2:16", + "nodeType": "VariableDeclaration", + "scope": 6623, + "src": "28881:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6601, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28881:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6604, + "mutability": "mutable", + "name": "p1", + "nameLocation": "28904:2:16", + "nodeType": "VariableDeclaration", + "scope": 6623, + "src": "28899:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6603, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28899:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6606, + "mutability": "mutable", + "name": "p2", + "nameLocation": "28922:2:16", + "nodeType": "VariableDeclaration", + "scope": 6623, + "src": "28908:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6605, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "28908:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6608, + "mutability": "mutable", + "name": "p3", + "nameLocation": "28931:2:16", + "nodeType": "VariableDeclaration", + "scope": 6623, + "src": "28926:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6607, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "28926:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "28880:54:16" + }, + "returnParameters": { + "id": 6610, + "nodeType": "ParameterList", + "parameters": [], + "src": "28949:0:16" + }, + "scope": 10925, + "src": "28868:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6645, + "nodeType": "Block", + "src": "29138:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c737472696e6729", + "id": 6637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29182:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6c98dae27db048edb14bb31b4326832aa1fb54be52caaf49d1cecb59aa297c07", + "typeString": "literal_string \"log(string,uint,string,string)\"" + }, + "value": "log(string,uint,string,string)" + }, + { + "id": 6638, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6625, + "src": "29216:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6639, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6627, + "src": "29220:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6640, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6629, + "src": "29224:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6641, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6631, + "src": "29228:2:16", + "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": 6635, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29158:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6636, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29158:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6642, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29158:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6634, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "29142:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29142:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6644, + "nodeType": "ExpressionStatement", + "src": "29142:90:16" + } + ] + }, + "id": 6646, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29057:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6632, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6625, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29075:2:16", + "nodeType": "VariableDeclaration", + "scope": 6646, + "src": "29061:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6624, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29061:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6627, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29084:2:16", + "nodeType": "VariableDeclaration", + "scope": 6646, + "src": "29079:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6626, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29079:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6629, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29102:2:16", + "nodeType": "VariableDeclaration", + "scope": 6646, + "src": "29088:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6628, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29088:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6631, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29120:2:16", + "nodeType": "VariableDeclaration", + "scope": 6646, + "src": "29106:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6630, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29106:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "29060:63:16" + }, + "returnParameters": { + "id": 6633, + "nodeType": "ParameterList", + "parameters": [], + "src": "29138:0:16" + }, + "scope": 10925, + "src": "29048:188:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6668, + "nodeType": "Block", + "src": "29320:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c626f6f6c29", + "id": 6660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29364:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e99f82cf29cb9d7551a843a55617f00569395570d3a9816be530f7c6197ec7c8", + "typeString": "literal_string \"log(string,uint,string,bool)\"" + }, + "value": "log(string,uint,string,bool)" + }, + { + "id": 6661, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6648, + "src": "29396:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6662, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6650, + "src": "29400:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6663, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6652, + "src": "29404:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6664, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6654, + "src": "29408:2:16", + "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": 6658, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29340:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6659, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29340:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6665, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29340:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6657, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "29324:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29324:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6667, + "nodeType": "ExpressionStatement", + "src": "29324:88:16" + } + ] + }, + "id": 6669, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29248:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6655, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6648, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29266:2:16", + "nodeType": "VariableDeclaration", + "scope": 6669, + "src": "29252:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6647, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29252:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6650, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29275:2:16", + "nodeType": "VariableDeclaration", + "scope": 6669, + "src": "29270:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6649, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29270:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6652, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29293:2:16", + "nodeType": "VariableDeclaration", + "scope": 6669, + "src": "29279:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6651, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29279:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6654, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29302:2:16", + "nodeType": "VariableDeclaration", + "scope": 6669, + "src": "29297:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6653, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29297:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "29251:54:16" + }, + "returnParameters": { + "id": 6656, + "nodeType": "ParameterList", + "parameters": [], + "src": "29320:0:16" + }, + "scope": 10925, + "src": "29239:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6691, + "nodeType": "Block", + "src": "29503:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c737472696e672c6164647265737329", + "id": 6683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29547:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bb7235e9977380af5de9932c5c28e18d22806b4b0a15ac7e98086e795e59b31c", + "typeString": "literal_string \"log(string,uint,string,address)\"" + }, + "value": "log(string,uint,string,address)" + }, + { + "id": 6684, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6671, + "src": "29582:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6685, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6673, + "src": "29586:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6686, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6675, + "src": "29590:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6687, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6677, + "src": "29594:2:16", + "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": 6681, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29523:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6682, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29523:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6688, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29523:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6680, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "29507:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29507:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6690, + "nodeType": "ExpressionStatement", + "src": "29507:91:16" + } + ] + }, + "id": 6692, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29428:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6678, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6671, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29446:2:16", + "nodeType": "VariableDeclaration", + "scope": 6692, + "src": "29432:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6670, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29432:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6673, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29455:2:16", + "nodeType": "VariableDeclaration", + "scope": 6692, + "src": "29450:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6672, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29450:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6675, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29473:2:16", + "nodeType": "VariableDeclaration", + "scope": 6692, + "src": "29459:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6674, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29459:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6677, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29485:2:16", + "nodeType": "VariableDeclaration", + "scope": 6692, + "src": "29477:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6676, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "29477:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "29431:57:16" + }, + "returnParameters": { + "id": 6679, + "nodeType": "ParameterList", + "parameters": [], + "src": "29503:0:16" + }, + "scope": 10925, + "src": "29419:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6714, + "nodeType": "Block", + "src": "29677:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c75696e7429", + "id": 6706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29721:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_550e6ef516f1b3b5be9432b068022af744a919b7f9554b6605ddb59dad27875f", + "typeString": "literal_string \"log(string,uint,bool,uint)\"" + }, + "value": "log(string,uint,bool,uint)" + }, + { + "id": 6707, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6694, + "src": "29751:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6708, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6696, + "src": "29755:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6709, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6698, + "src": "29759:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6710, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6700, + "src": "29763:2:16", + "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": 6704, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29697:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6705, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29697:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6711, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29697:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6703, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "29681:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29681:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6713, + "nodeType": "ExpressionStatement", + "src": "29681:86:16" + } + ] + }, + "id": 6715, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29614:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6701, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6694, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29632:2:16", + "nodeType": "VariableDeclaration", + "scope": 6715, + "src": "29618:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6693, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29618:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6696, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29641:2:16", + "nodeType": "VariableDeclaration", + "scope": 6715, + "src": "29636:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6695, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29636:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6698, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29650:2:16", + "nodeType": "VariableDeclaration", + "scope": 6715, + "src": "29645:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6697, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29645:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6700, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29659:2:16", + "nodeType": "VariableDeclaration", + "scope": 6715, + "src": "29654:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6699, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29654:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "29617:45:16" + }, + "returnParameters": { + "id": 6702, + "nodeType": "ParameterList", + "parameters": [], + "src": "29677:0:16" + }, + "scope": 10925, + "src": "29605:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6737, + "nodeType": "Block", + "src": "29855:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c737472696e6729", + "id": 6729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "29899:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_76cc6064a225b36730abdd64aa9dcb74a19c97e79a6eaa7e7a7381b59d8b3f68", + "typeString": "literal_string \"log(string,uint,bool,string)\"" + }, + "value": "log(string,uint,bool,string)" + }, + { + "id": 6730, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6717, + "src": "29931:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6731, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6719, + "src": "29935:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6732, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6721, + "src": "29939:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6733, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6723, + "src": "29943:2:16", + "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": 6727, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "29875:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6728, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "29875:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6734, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29875:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6726, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "29859:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "29859:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6736, + "nodeType": "ExpressionStatement", + "src": "29859:88:16" + } + ] + }, + "id": 6738, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29783:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6724, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6717, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29801:2:16", + "nodeType": "VariableDeclaration", + "scope": 6738, + "src": "29787:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6716, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29787:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6719, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29810:2:16", + "nodeType": "VariableDeclaration", + "scope": 6738, + "src": "29805:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6718, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29805:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6721, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29819:2:16", + "nodeType": "VariableDeclaration", + "scope": 6738, + "src": "29814:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6720, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29814:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6723, + "mutability": "mutable", + "name": "p3", + "nameLocation": "29837:2:16", + "nodeType": "VariableDeclaration", + "scope": 6738, + "src": "29823:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6722, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29823:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "29786:54:16" + }, + "returnParameters": { + "id": 6725, + "nodeType": "ParameterList", + "parameters": [], + "src": "29855:0:16" + }, + "scope": 10925, + "src": "29774:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6760, + "nodeType": "Block", + "src": "30026:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c626f6f6c29", + "id": 6752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30070:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e37ff3d07873d5117abd74fe9be70fdadf355b74510a6f7507b0edd4a0032d7f", + "typeString": "literal_string \"log(string,uint,bool,bool)\"" + }, + "value": "log(string,uint,bool,bool)" + }, + { + "id": 6753, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6740, + "src": "30100:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6754, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6742, + "src": "30104:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6755, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6744, + "src": "30108:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6756, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6746, + "src": "30112:2:16", + "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": 6750, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30046:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6751, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30046:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6757, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30046:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6749, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "30030:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30030:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6759, + "nodeType": "ExpressionStatement", + "src": "30030:86:16" + } + ] + }, + "id": 6761, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "29963:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6747, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6740, + "mutability": "mutable", + "name": "p0", + "nameLocation": "29981:2:16", + "nodeType": "VariableDeclaration", + "scope": 6761, + "src": "29967:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6739, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "29967:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6742, + "mutability": "mutable", + "name": "p1", + "nameLocation": "29990:2:16", + "nodeType": "VariableDeclaration", + "scope": 6761, + "src": "29985:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6741, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "29985:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6744, + "mutability": "mutable", + "name": "p2", + "nameLocation": "29999:2:16", + "nodeType": "VariableDeclaration", + "scope": 6761, + "src": "29994:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6743, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "29994:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6746, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30008:2:16", + "nodeType": "VariableDeclaration", + "scope": 6761, + "src": "30003:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6745, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "30003:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "29966:45:16" + }, + "returnParameters": { + "id": 6748, + "nodeType": "ParameterList", + "parameters": [], + "src": "30026:0:16" + }, + "scope": 10925, + "src": "29954:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6783, + "nodeType": "Block", + "src": "30198:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c626f6f6c2c6164647265737329", + "id": 6775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30242:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e5549d91ec2998207f70463fe94a71d0edc39b13b219ff8feb87dd990a616539", + "typeString": "literal_string \"log(string,uint,bool,address)\"" + }, + "value": "log(string,uint,bool,address)" + }, + { + "id": 6776, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6763, + "src": "30275:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6777, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6765, + "src": "30279:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6778, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6767, + "src": "30283:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 6779, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6769, + "src": "30287:2:16", + "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": 6773, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30218:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6774, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30218:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6780, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30218:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6772, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "30202:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30202:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6782, + "nodeType": "ExpressionStatement", + "src": "30202:89:16" + } + ] + }, + "id": 6784, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30132:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6770, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6763, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30150:2:16", + "nodeType": "VariableDeclaration", + "scope": 6784, + "src": "30136:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6762, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30136:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6765, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30159:2:16", + "nodeType": "VariableDeclaration", + "scope": 6784, + "src": "30154:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6764, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30154:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6767, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30168:2:16", + "nodeType": "VariableDeclaration", + "scope": 6784, + "src": "30163:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6766, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "30163:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6769, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30180:2:16", + "nodeType": "VariableDeclaration", + "scope": 6784, + "src": "30172:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6768, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30172:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "30135:48:16" + }, + "returnParameters": { + "id": 6771, + "nodeType": "ParameterList", + "parameters": [], + "src": "30198:0:16" + }, + "scope": 10925, + "src": "30123:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6806, + "nodeType": "Block", + "src": "30373:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c75696e7429", + "id": 6798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30417:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_58497afe9e509136f5cf2fb1db9876437d9cbd769be5985b518ff094427e4f75", + "typeString": "literal_string \"log(string,uint,address,uint)\"" + }, + "value": "log(string,uint,address,uint)" + }, + { + "id": 6799, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6786, + "src": "30450:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6800, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6788, + "src": "30454:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6801, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6790, + "src": "30458:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6802, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6792, + "src": "30462:2:16", + "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": 6796, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30393:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6797, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30393:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6803, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30393:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6795, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "30377:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30377:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6805, + "nodeType": "ExpressionStatement", + "src": "30377:89:16" + } + ] + }, + "id": 6807, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30307:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6786, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30325:2:16", + "nodeType": "VariableDeclaration", + "scope": 6807, + "src": "30311:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6785, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30311:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6788, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30334:2:16", + "nodeType": "VariableDeclaration", + "scope": 6807, + "src": "30329:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6787, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30329:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6790, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30346:2:16", + "nodeType": "VariableDeclaration", + "scope": 6807, + "src": "30338:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6789, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30338:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6792, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30355:2:16", + "nodeType": "VariableDeclaration", + "scope": 6807, + "src": "30350:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6791, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30350:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "30310:48:16" + }, + "returnParameters": { + "id": 6794, + "nodeType": "ParameterList", + "parameters": [], + "src": "30373:0:16" + }, + "scope": 10925, + "src": "30298:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6829, + "nodeType": "Block", + "src": "30557:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c737472696e6729", + "id": 6821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30601:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3254c2e85e824e7dd0b3e2e602f95218ed23a331406e197386693086d91053c0", + "typeString": "literal_string \"log(string,uint,address,string)\"" + }, + "value": "log(string,uint,address,string)" + }, + { + "id": 6822, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6809, + "src": "30636:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6823, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6811, + "src": "30640:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6824, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6813, + "src": "30644:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6825, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6815, + "src": "30648:2:16", + "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": 6819, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30577:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6820, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30577:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6826, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30577:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6818, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "30561:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30561:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6828, + "nodeType": "ExpressionStatement", + "src": "30561:91:16" + } + ] + }, + "id": 6830, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30482:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6816, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6809, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30500:2:16", + "nodeType": "VariableDeclaration", + "scope": 6830, + "src": "30486:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6808, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30486:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6811, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30509:2:16", + "nodeType": "VariableDeclaration", + "scope": 6830, + "src": "30504:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6810, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30504:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6813, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30521:2:16", + "nodeType": "VariableDeclaration", + "scope": 6830, + "src": "30513:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6812, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30513:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6815, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30539:2:16", + "nodeType": "VariableDeclaration", + "scope": 6830, + "src": "30525:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6814, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30525:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "30485:57:16" + }, + "returnParameters": { + "id": 6817, + "nodeType": "ParameterList", + "parameters": [], + "src": "30557:0:16" + }, + "scope": 10925, + "src": "30473:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6852, + "nodeType": "Block", + "src": "30734:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c626f6f6c29", + "id": 6844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30778:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1106a8f7a9fdb0743cc8f33bcf28da92f358b488bfc5eb2426dcc116571bae10", + "typeString": "literal_string \"log(string,uint,address,bool)\"" + }, + "value": "log(string,uint,address,bool)" + }, + { + "id": 6845, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6832, + "src": "30811:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6846, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6834, + "src": "30815:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6847, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6836, + "src": "30819:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6848, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6838, + "src": "30823:2:16", + "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": 6842, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30754:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6843, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30754:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6849, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30754:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6841, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "30738:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30738:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6851, + "nodeType": "ExpressionStatement", + "src": "30738:89:16" + } + ] + }, + "id": 6853, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30668:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6839, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6832, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30686:2:16", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "30672:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6831, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30672:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6834, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30695:2:16", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "30690:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6833, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30690:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6836, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30707:2:16", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "30699:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30699:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6838, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30716:2:16", + "nodeType": "VariableDeclaration", + "scope": 6853, + "src": "30711:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6837, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "30711:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "30671:48:16" + }, + "returnParameters": { + "id": 6840, + "nodeType": "ParameterList", + "parameters": [], + "src": "30734:0:16" + }, + "scope": 10925, + "src": "30659:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6875, + "nodeType": "Block", + "src": "30912:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c75696e742c616464726573732c6164647265737329", + "id": 6867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "30956:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eac892812ad5b43e056a005de5f4269f3430ecb19d3374f0e27d055022fbb381", + "typeString": "literal_string \"log(string,uint,address,address)\"" + }, + "value": "log(string,uint,address,address)" + }, + { + "id": 6868, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6855, + "src": "30992:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6869, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6857, + "src": "30996:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6870, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6859, + "src": "31000:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 6871, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6861, + "src": "31004:2:16", + "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": 6865, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "30932:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6866, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "30932:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6872, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30932:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6864, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "30916:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "30916:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6874, + "nodeType": "ExpressionStatement", + "src": "30916:92:16" + } + ] + }, + "id": 6876, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "30843:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6862, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6855, + "mutability": "mutable", + "name": "p0", + "nameLocation": "30861:2:16", + "nodeType": "VariableDeclaration", + "scope": 6876, + "src": "30847:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6854, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "30847:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6857, + "mutability": "mutable", + "name": "p1", + "nameLocation": "30870:2:16", + "nodeType": "VariableDeclaration", + "scope": 6876, + "src": "30865:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6856, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "30865:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6859, + "mutability": "mutable", + "name": "p2", + "nameLocation": "30882:2:16", + "nodeType": "VariableDeclaration", + "scope": 6876, + "src": "30874:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30874:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6861, + "mutability": "mutable", + "name": "p3", + "nameLocation": "30894:2:16", + "nodeType": "VariableDeclaration", + "scope": 6876, + "src": "30886:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6860, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "30886:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "30846:51:16" + }, + "returnParameters": { + "id": 6863, + "nodeType": "ParameterList", + "parameters": [], + "src": "30912:0:16" + }, + "scope": 10925, + "src": "30834:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6898, + "nodeType": "Block", + "src": "31096:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c75696e7429", + "id": 6890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31140:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d5cf17d093c9068e0703e037cea1f6c3048599508dc7985106a94aa34c08c926", + "typeString": "literal_string \"log(string,string,uint,uint)\"" + }, + "value": "log(string,string,uint,uint)" + }, + { + "id": 6891, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6878, + "src": "31172:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6892, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6880, + "src": "31176:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6893, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6882, + "src": "31180:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6894, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6884, + "src": "31184:2:16", + "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": 6888, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31116:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6889, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31116:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6895, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31116:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6887, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "31100:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31100:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6897, + "nodeType": "ExpressionStatement", + "src": "31100:88:16" + } + ] + }, + "id": 6899, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31024:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6885, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6878, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31042:2:16", + "nodeType": "VariableDeclaration", + "scope": 6899, + "src": "31028:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6877, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31028:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6880, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31060:2:16", + "nodeType": "VariableDeclaration", + "scope": 6899, + "src": "31046:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6879, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31046:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6882, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31069:2:16", + "nodeType": "VariableDeclaration", + "scope": 6899, + "src": "31064:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6881, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31064:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6884, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31078:2:16", + "nodeType": "VariableDeclaration", + "scope": 6899, + "src": "31073:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6883, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31073:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "31027:54:16" + }, + "returnParameters": { + "id": 6886, + "nodeType": "ParameterList", + "parameters": [], + "src": "31096:0:16" + }, + "scope": 10925, + "src": "31015:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6921, + "nodeType": "Block", + "src": "31285:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c737472696e6729", + "id": 6913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31329:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8d142cdddf40ab944834474e14a37534e67dcf2f6ffd68fd3d894f907fb76a0a", + "typeString": "literal_string \"log(string,string,uint,string)\"" + }, + "value": "log(string,string,uint,string)" + }, + { + "id": 6914, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6901, + "src": "31363:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6915, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6903, + "src": "31367:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6916, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6905, + "src": "31371:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6917, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6907, + "src": "31375:2:16", + "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": 6911, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31305:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31305:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6918, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31305:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6910, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "31289:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31289:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6920, + "nodeType": "ExpressionStatement", + "src": "31289:90:16" + } + ] + }, + "id": 6922, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31204:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6908, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6901, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31222:2:16", + "nodeType": "VariableDeclaration", + "scope": 6922, + "src": "31208:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6900, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31208:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6903, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31240:2:16", + "nodeType": "VariableDeclaration", + "scope": 6922, + "src": "31226:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6902, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31226:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6905, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31249:2:16", + "nodeType": "VariableDeclaration", + "scope": 6922, + "src": "31244:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6904, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31244:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6907, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31267:2:16", + "nodeType": "VariableDeclaration", + "scope": 6922, + "src": "31253:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6906, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31253:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "31207:63:16" + }, + "returnParameters": { + "id": 6909, + "nodeType": "ParameterList", + "parameters": [], + "src": "31285:0:16" + }, + "scope": 10925, + "src": "31195:188:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6944, + "nodeType": "Block", + "src": "31467:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c626f6f6c29", + "id": 6936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31511:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e65658ca6578795ac405c3487ab68ec21d76f9a79d734a9ab869db5d96b4556b", + "typeString": "literal_string \"log(string,string,uint,bool)\"" + }, + "value": "log(string,string,uint,bool)" + }, + { + "id": 6937, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6924, + "src": "31543:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6938, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6926, + "src": "31547:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6939, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6928, + "src": "31551:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6940, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6930, + "src": "31555:2:16", + "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": 6934, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31487:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6935, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31487:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6941, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31487:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6933, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "31471:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31471:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6943, + "nodeType": "ExpressionStatement", + "src": "31471:88:16" + } + ] + }, + "id": 6945, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31395:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6931, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6924, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31413:2:16", + "nodeType": "VariableDeclaration", + "scope": 6945, + "src": "31399:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6923, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31399:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6926, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31431:2:16", + "nodeType": "VariableDeclaration", + "scope": 6945, + "src": "31417:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6925, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31417:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6928, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31440:2:16", + "nodeType": "VariableDeclaration", + "scope": 6945, + "src": "31435:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6927, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31435:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6930, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31449:2:16", + "nodeType": "VariableDeclaration", + "scope": 6945, + "src": "31444:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 6929, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "31444:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "31398:54:16" + }, + "returnParameters": { + "id": 6932, + "nodeType": "ParameterList", + "parameters": [], + "src": "31467:0:16" + }, + "scope": 10925, + "src": "31386:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6967, + "nodeType": "Block", + "src": "31650:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c75696e742c6164647265737329", + "id": 6959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31694:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d4f46805293f3e84ba6dbfe353f76b3d1f1cfb2ff1e8024fb2adb45e2b7a128", + "typeString": "literal_string \"log(string,string,uint,address)\"" + }, + "value": "log(string,string,uint,address)" + }, + { + "id": 6960, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6947, + "src": "31729:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6961, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6949, + "src": "31733:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6962, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6951, + "src": "31737:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 6963, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6953, + "src": "31741:2:16", + "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": 6957, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31670:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6958, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31670:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6964, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31670:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6956, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "31654:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31654:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6966, + "nodeType": "ExpressionStatement", + "src": "31654:91:16" + } + ] + }, + "id": 6968, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31575:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6954, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6947, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31593:2:16", + "nodeType": "VariableDeclaration", + "scope": 6968, + "src": "31579:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6946, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31579:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6949, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31611:2:16", + "nodeType": "VariableDeclaration", + "scope": 6968, + "src": "31597:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6948, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31597:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6951, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31620:2:16", + "nodeType": "VariableDeclaration", + "scope": 6968, + "src": "31615:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6950, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31615:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6953, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31632:2:16", + "nodeType": "VariableDeclaration", + "scope": 6968, + "src": "31624:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 6952, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "31624:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "31578:57:16" + }, + "returnParameters": { + "id": 6955, + "nodeType": "ParameterList", + "parameters": [], + "src": "31650:0:16" + }, + "scope": 10925, + "src": "31566:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 6990, + "nodeType": "Block", + "src": "31842:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c75696e7429", + "id": 6982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "31886:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9fd009f5f31a16d665d9be327a4a2b17dc428108ae31e46ab875e747b5ee155f", + "typeString": "literal_string \"log(string,string,string,uint)\"" + }, + "value": "log(string,string,string,uint)" + }, + { + "id": 6983, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6970, + "src": "31920:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6984, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6972, + "src": "31924:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6985, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6974, + "src": "31928:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 6986, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6976, + "src": "31932:2:16", + "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": 6980, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "31862:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 6981, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "31862:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 6987, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31862:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 6979, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "31846:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 6988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "31846:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 6989, + "nodeType": "ExpressionStatement", + "src": "31846:90:16" + } + ] + }, + "id": 6991, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31761:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 6977, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6970, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31779:2:16", + "nodeType": "VariableDeclaration", + "scope": 6991, + "src": "31765:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6969, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31765:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6972, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31797:2:16", + "nodeType": "VariableDeclaration", + "scope": 6991, + "src": "31783:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6971, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31783:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6974, + "mutability": "mutable", + "name": "p2", + "nameLocation": "31815:2:16", + "nodeType": "VariableDeclaration", + "scope": 6991, + "src": "31801:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6973, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31801:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6976, + "mutability": "mutable", + "name": "p3", + "nameLocation": "31824:2:16", + "nodeType": "VariableDeclaration", + "scope": 6991, + "src": "31819:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 6975, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "31819:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "31764:63:16" + }, + "returnParameters": { + "id": 6978, + "nodeType": "ParameterList", + "parameters": [], + "src": "31842:0:16" + }, + "scope": 10925, + "src": "31752:188:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7013, + "nodeType": "Block", + "src": "32042:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c737472696e6729", + "id": 7005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32086:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_de68f20a8e88f68d54c5aa294860ee37b58680632686e2f1101e4e042a2cbcbe", + "typeString": "literal_string \"log(string,string,string,string)\"" + }, + "value": "log(string,string,string,string)" + }, + { + "id": 7006, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6993, + "src": "32122:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7007, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6995, + "src": "32126:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7008, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6997, + "src": "32130:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7009, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 6999, + "src": "32134:2:16", + "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": 7003, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32062:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32062:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7010, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32062:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7002, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "32046:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32046:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7012, + "nodeType": "ExpressionStatement", + "src": "32046:92:16" + } + ] + }, + "id": 7014, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "31952:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7000, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 6993, + "mutability": "mutable", + "name": "p0", + "nameLocation": "31970:2:16", + "nodeType": "VariableDeclaration", + "scope": 7014, + "src": "31956:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6992, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31956:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6995, + "mutability": "mutable", + "name": "p1", + "nameLocation": "31988:2:16", + "nodeType": "VariableDeclaration", + "scope": 7014, + "src": "31974:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6994, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31974:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6997, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32006:2:16", + "nodeType": "VariableDeclaration", + "scope": 7014, + "src": "31992:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6996, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "31992:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 6999, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32024:2:16", + "nodeType": "VariableDeclaration", + "scope": 7014, + "src": "32010:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 6998, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32010:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "31955:72:16" + }, + "returnParameters": { + "id": 7001, + "nodeType": "ParameterList", + "parameters": [], + "src": "32042:0:16" + }, + "scope": 10925, + "src": "31943:199:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7036, + "nodeType": "Block", + "src": "32235:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c626f6f6c29", + "id": 7028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32279:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2c1754ed9d3bc50669c3e71e3115dc4403f3cff35aa9b6b58799f80b5496f332", + "typeString": "literal_string \"log(string,string,string,bool)\"" + }, + "value": "log(string,string,string,bool)" + }, + { + "id": 7029, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7016, + "src": "32313:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7030, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7018, + "src": "32317:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7031, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7020, + "src": "32321:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7032, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7022, + "src": "32325:2:16", + "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": 7026, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32255:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7027, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32255:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7033, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32255:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7025, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "32239:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32239:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7035, + "nodeType": "ExpressionStatement", + "src": "32239:90:16" + } + ] + }, + "id": 7037, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32154:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7023, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7016, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32172:2:16", + "nodeType": "VariableDeclaration", + "scope": 7037, + "src": "32158:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7015, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32158:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7018, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32190:2:16", + "nodeType": "VariableDeclaration", + "scope": 7037, + "src": "32176:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7017, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32176:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7020, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32208:2:16", + "nodeType": "VariableDeclaration", + "scope": 7037, + "src": "32194:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7019, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32194:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7022, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32217:2:16", + "nodeType": "VariableDeclaration", + "scope": 7037, + "src": "32212:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7021, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32212:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "32157:63:16" + }, + "returnParameters": { + "id": 7024, + "nodeType": "ParameterList", + "parameters": [], + "src": "32235:0:16" + }, + "scope": 10925, + "src": "32145:188:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7059, + "nodeType": "Block", + "src": "32429:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c737472696e672c6164647265737329", + "id": 7051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32473:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d572f449cf1e446ea3ace51a34ce30628f4f1588a39dc5d550cefb210c5bb16", + "typeString": "literal_string \"log(string,string,string,address)\"" + }, + "value": "log(string,string,string,address)" + }, + { + "id": 7052, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7039, + "src": "32510:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7053, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7041, + "src": "32514:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7054, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7043, + "src": "32518:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7055, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7045, + "src": "32522:2:16", + "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": 7049, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32449:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7050, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32449:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32449:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7048, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "32433:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32433:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7058, + "nodeType": "ExpressionStatement", + "src": "32433:93:16" + } + ] + }, + "id": 7060, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32345:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7046, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7039, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32363:2:16", + "nodeType": "VariableDeclaration", + "scope": 7060, + "src": "32349:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7038, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32349:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7041, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32381:2:16", + "nodeType": "VariableDeclaration", + "scope": 7060, + "src": "32367:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7040, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32367:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7043, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32399:2:16", + "nodeType": "VariableDeclaration", + "scope": 7060, + "src": "32385:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7042, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32385:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7045, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32411:2:16", + "nodeType": "VariableDeclaration", + "scope": 7060, + "src": "32403:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7044, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "32403:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "32348:66:16" + }, + "returnParameters": { + "id": 7047, + "nodeType": "ParameterList", + "parameters": [], + "src": "32429:0:16" + }, + "scope": 10925, + "src": "32336:194:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7082, + "nodeType": "Block", + "src": "32614:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c75696e7429", + "id": 7074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32658:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_86818a7aa9bc994aa800ce554e865f0047fd8aaa8799a458e8fea2db0986c5c1", + "typeString": "literal_string \"log(string,string,bool,uint)\"" + }, + "value": "log(string,string,bool,uint)" + }, + { + "id": 7075, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7062, + "src": "32690:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7076, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7064, + "src": "32694:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7077, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7066, + "src": "32698:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7078, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7068, + "src": "32702:2:16", + "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": 7072, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32634:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7073, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32634:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7079, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32634:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7071, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "32618:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32618:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7081, + "nodeType": "ExpressionStatement", + "src": "32618:88:16" + } + ] + }, + "id": 7083, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32542:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7062, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32560:2:16", + "nodeType": "VariableDeclaration", + "scope": 7083, + "src": "32546:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7061, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32546:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7064, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32578:2:16", + "nodeType": "VariableDeclaration", + "scope": 7083, + "src": "32564:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7063, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32564:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7066, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32587:2:16", + "nodeType": "VariableDeclaration", + "scope": 7083, + "src": "32582:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7065, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32582:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7068, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32596:2:16", + "nodeType": "VariableDeclaration", + "scope": 7083, + "src": "32591:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7067, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "32591:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "32545:54:16" + }, + "returnParameters": { + "id": 7070, + "nodeType": "ParameterList", + "parameters": [], + "src": "32614:0:16" + }, + "scope": 10925, + "src": "32533:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7105, + "nodeType": "Block", + "src": "32803:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c737472696e6729", + "id": 7097, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "32847:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e84b0ea51a130c3c7e1443097f28cb5c541ea8487836ae7cb1ca9c6e683699b", + "typeString": "literal_string \"log(string,string,bool,string)\"" + }, + "value": "log(string,string,bool,string)" + }, + { + "id": 7098, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7085, + "src": "32881:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7099, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7087, + "src": "32885:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7100, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7089, + "src": "32889:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7101, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7091, + "src": "32893:2:16", + "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": 7095, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "32823:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7096, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "32823:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7102, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32823:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7094, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "32807:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32807:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7104, + "nodeType": "ExpressionStatement", + "src": "32807:90:16" + } + ] + }, + "id": 7106, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32722:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7092, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7085, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32740:2:16", + "nodeType": "VariableDeclaration", + "scope": 7106, + "src": "32726:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7084, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32726:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7087, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32758:2:16", + "nodeType": "VariableDeclaration", + "scope": 7106, + "src": "32744:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7086, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32744:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7089, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32767:2:16", + "nodeType": "VariableDeclaration", + "scope": 7106, + "src": "32762:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7088, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32762:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7091, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32785:2:16", + "nodeType": "VariableDeclaration", + "scope": 7106, + "src": "32771:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7090, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32771:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "32725:63:16" + }, + "returnParameters": { + "id": 7093, + "nodeType": "ParameterList", + "parameters": [], + "src": "32803:0:16" + }, + "scope": 10925, + "src": "32713:188:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7128, + "nodeType": "Block", + "src": "32985:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c626f6f6c29", + "id": 7120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33029:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_40785869c0ea63ca2ccbcf7415552989c2f1ce04f151eb3b2bd695c64d21af10", + "typeString": "literal_string \"log(string,string,bool,bool)\"" + }, + "value": "log(string,string,bool,bool)" + }, + { + "id": 7121, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7108, + "src": "33061:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7122, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7110, + "src": "33065:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7123, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7112, + "src": "33069:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7124, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7114, + "src": "33073:2:16", + "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": 7118, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33005:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7119, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33005:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7125, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33005:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7117, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "32989:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "32989:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7127, + "nodeType": "ExpressionStatement", + "src": "32989:88:16" + } + ] + }, + "id": 7129, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "32913:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7115, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7108, + "mutability": "mutable", + "name": "p0", + "nameLocation": "32931:2:16", + "nodeType": "VariableDeclaration", + "scope": 7129, + "src": "32917:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7107, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32917:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7110, + "mutability": "mutable", + "name": "p1", + "nameLocation": "32949:2:16", + "nodeType": "VariableDeclaration", + "scope": 7129, + "src": "32935:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7109, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "32935:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7112, + "mutability": "mutable", + "name": "p2", + "nameLocation": "32958:2:16", + "nodeType": "VariableDeclaration", + "scope": 7129, + "src": "32953:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7111, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32953:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7114, + "mutability": "mutable", + "name": "p3", + "nameLocation": "32967:2:16", + "nodeType": "VariableDeclaration", + "scope": 7129, + "src": "32962:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7113, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "32962:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "32916:54:16" + }, + "returnParameters": { + "id": 7116, + "nodeType": "ParameterList", + "parameters": [], + "src": "32985:0:16" + }, + "scope": 10925, + "src": "32904:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7151, + "nodeType": "Block", + "src": "33168:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c626f6f6c2c6164647265737329", + "id": 7143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33212:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c371c7db0a4b104babdbdf00d079eb75cb5aa1d401c4fb726c8e5559029df84d", + "typeString": "literal_string \"log(string,string,bool,address)\"" + }, + "value": "log(string,string,bool,address)" + }, + { + "id": 7144, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7131, + "src": "33247:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7145, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7133, + "src": "33251:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7146, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7135, + "src": "33255:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7147, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7137, + "src": "33259:2:16", + "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": 7141, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33188:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7142, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33188:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7148, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33188:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7140, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "33172:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33172:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7150, + "nodeType": "ExpressionStatement", + "src": "33172:91:16" + } + ] + }, + "id": 7152, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33093:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7138, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7131, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33111:2:16", + "nodeType": "VariableDeclaration", + "scope": 7152, + "src": "33097:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7130, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33097:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7133, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33129:2:16", + "nodeType": "VariableDeclaration", + "scope": 7152, + "src": "33115:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7132, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33115:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7135, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33138:2:16", + "nodeType": "VariableDeclaration", + "scope": 7152, + "src": "33133:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7134, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "33133:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7137, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33150:2:16", + "nodeType": "VariableDeclaration", + "scope": 7152, + "src": "33142:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7136, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33142:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "33096:57:16" + }, + "returnParameters": { + "id": 7139, + "nodeType": "ParameterList", + "parameters": [], + "src": "33168:0:16" + }, + "scope": 10925, + "src": "33084:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7174, + "nodeType": "Block", + "src": "33354:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c75696e7429", + "id": 7166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33398:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a81a56a33247069679e8b6a463a3b29deb4b1020ce6e03b978132074cad28c2", + "typeString": "literal_string \"log(string,string,address,uint)\"" + }, + "value": "log(string,string,address,uint)" + }, + { + "id": 7167, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7154, + "src": "33433:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7168, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7156, + "src": "33437:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7169, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7158, + "src": "33441:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7170, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7160, + "src": "33445:2:16", + "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": 7164, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33374:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7165, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33374:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7171, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33374:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7163, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "33358:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33358:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7173, + "nodeType": "ExpressionStatement", + "src": "33358:91:16" + } + ] + }, + "id": 7175, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33279:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7161, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7154, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33297:2:16", + "nodeType": "VariableDeclaration", + "scope": 7175, + "src": "33283:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7153, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33283:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7156, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33315:2:16", + "nodeType": "VariableDeclaration", + "scope": 7175, + "src": "33301:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7155, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33301:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7158, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33327:2:16", + "nodeType": "VariableDeclaration", + "scope": 7175, + "src": "33319:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7157, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33319:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7160, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33336:2:16", + "nodeType": "VariableDeclaration", + "scope": 7175, + "src": "33331:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7159, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "33331:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "33282:57:16" + }, + "returnParameters": { + "id": 7162, + "nodeType": "ParameterList", + "parameters": [], + "src": "33354:0:16" + }, + "scope": 10925, + "src": "33270:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7197, + "nodeType": "Block", + "src": "33549:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c737472696e6729", + "id": 7189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33593:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_eb1bff805ef136c60bfed230c7b932a14c6f7a62608edeaf56f8f2c0575d25b6", + "typeString": "literal_string \"log(string,string,address,string)\"" + }, + "value": "log(string,string,address,string)" + }, + { + "id": 7190, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7177, + "src": "33630:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7191, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7179, + "src": "33634:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7192, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7181, + "src": "33638:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7193, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7183, + "src": "33642:2:16", + "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": 7187, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33569:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7188, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33569:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33569:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7186, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "33553:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33553:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7196, + "nodeType": "ExpressionStatement", + "src": "33553:93:16" + } + ] + }, + "id": 7198, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33465:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7184, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7177, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33483:2:16", + "nodeType": "VariableDeclaration", + "scope": 7198, + "src": "33469:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7176, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33469:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7179, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33501:2:16", + "nodeType": "VariableDeclaration", + "scope": 7198, + "src": "33487:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7178, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33487:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7181, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33513:2:16", + "nodeType": "VariableDeclaration", + "scope": 7198, + "src": "33505:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7180, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33505:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7183, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33531:2:16", + "nodeType": "VariableDeclaration", + "scope": 7198, + "src": "33517:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7182, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33517:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "33468:66:16" + }, + "returnParameters": { + "id": 7185, + "nodeType": "ParameterList", + "parameters": [], + "src": "33549:0:16" + }, + "scope": 10925, + "src": "33456:194:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7220, + "nodeType": "Block", + "src": "33737:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c626f6f6c29", + "id": 7212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33781:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ccd4e373eb6ae26626c8607ae861c55cda5fd321363edde7e6328e09072ba63", + "typeString": "literal_string \"log(string,string,address,bool)\"" + }, + "value": "log(string,string,address,bool)" + }, + { + "id": 7213, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7200, + "src": "33816:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7214, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7202, + "src": "33820:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7215, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7204, + "src": "33824:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7216, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7206, + "src": "33828:2:16", + "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": 7210, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33757:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7211, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33757:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33757:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7209, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "33741:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33741:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7219, + "nodeType": "ExpressionStatement", + "src": "33741:91:16" + } + ] + }, + "id": 7221, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33662:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7207, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7200, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33680:2:16", + "nodeType": "VariableDeclaration", + "scope": 7221, + "src": "33666:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7199, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33666:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7202, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33698:2:16", + "nodeType": "VariableDeclaration", + "scope": 7221, + "src": "33684:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7201, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33684:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7204, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33710:2:16", + "nodeType": "VariableDeclaration", + "scope": 7221, + "src": "33702:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7203, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33702:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7206, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33719:2:16", + "nodeType": "VariableDeclaration", + "scope": 7221, + "src": "33714:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7205, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "33714:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "33665:57:16" + }, + "returnParameters": { + "id": 7208, + "nodeType": "ParameterList", + "parameters": [], + "src": "33737:0:16" + }, + "scope": 10925, + "src": "33653:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7243, + "nodeType": "Block", + "src": "33926:102:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c737472696e672c616464726573732c6164647265737329", + "id": 7235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "33970:36:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_439c7befd1b6bfcb9bd001c1f3a991ef43c070f0ace0c190dd9f16d7ae338a5d", + "typeString": "literal_string \"log(string,string,address,address)\"" + }, + "value": "log(string,string,address,address)" + }, + { + "id": 7236, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7223, + "src": "34008:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7237, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7225, + "src": "34012:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7238, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7227, + "src": "34016:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7239, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7229, + "src": "34020:2:16", + "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": 7233, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "33946:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7234, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "33946:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7240, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33946:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7232, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "33930:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "33930:94:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7242, + "nodeType": "ExpressionStatement", + "src": "33930:94:16" + } + ] + }, + "id": 7244, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "33848:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7230, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7223, + "mutability": "mutable", + "name": "p0", + "nameLocation": "33866:2:16", + "nodeType": "VariableDeclaration", + "scope": 7244, + "src": "33852:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7222, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33852:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7225, + "mutability": "mutable", + "name": "p1", + "nameLocation": "33884:2:16", + "nodeType": "VariableDeclaration", + "scope": 7244, + "src": "33870:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7224, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "33870:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7227, + "mutability": "mutable", + "name": "p2", + "nameLocation": "33896:2:16", + "nodeType": "VariableDeclaration", + "scope": 7244, + "src": "33888:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7226, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33888:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7229, + "mutability": "mutable", + "name": "p3", + "nameLocation": "33908:2:16", + "nodeType": "VariableDeclaration", + "scope": 7244, + "src": "33900:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7228, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "33900:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "33851:60:16" + }, + "returnParameters": { + "id": 7231, + "nodeType": "ParameterList", + "parameters": [], + "src": "33926:0:16" + }, + "scope": 10925, + "src": "33839:189:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7266, + "nodeType": "Block", + "src": "34103:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c75696e7429", + "id": 7258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34147:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5dbff038873b5f716761e9dcaab0713a903ceaebb2ba8c30b199c4dc534f7701", + "typeString": "literal_string \"log(string,bool,uint,uint)\"" + }, + "value": "log(string,bool,uint,uint)" + }, + { + "id": 7259, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7246, + "src": "34177:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7260, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7248, + "src": "34181:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7261, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7250, + "src": "34185:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7262, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7252, + "src": "34189:2:16", + "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": 7256, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34123:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7257, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34123:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7263, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34123:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7255, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "34107:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34107:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7265, + "nodeType": "ExpressionStatement", + "src": "34107:86:16" + } + ] + }, + "id": 7267, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34040:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7253, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7246, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34058:2:16", + "nodeType": "VariableDeclaration", + "scope": 7267, + "src": "34044:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7245, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34044:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7248, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34067:2:16", + "nodeType": "VariableDeclaration", + "scope": 7267, + "src": "34062:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7247, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34062:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7250, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34076:2:16", + "nodeType": "VariableDeclaration", + "scope": 7267, + "src": "34071:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7249, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34071:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7252, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34085:2:16", + "nodeType": "VariableDeclaration", + "scope": 7267, + "src": "34080:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7251, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34080:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "34043:45:16" + }, + "returnParameters": { + "id": 7254, + "nodeType": "ParameterList", + "parameters": [], + "src": "34103:0:16" + }, + "scope": 10925, + "src": "34031:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7289, + "nodeType": "Block", + "src": "34281:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c737472696e6729", + "id": 7281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34325:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_42b9a2274d0e9ab9211da679bc79f433c4055060036260a350e95cf10b9004ee", + "typeString": "literal_string \"log(string,bool,uint,string)\"" + }, + "value": "log(string,bool,uint,string)" + }, + { + "id": 7282, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7269, + "src": "34357:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7283, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7271, + "src": "34361:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7284, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7273, + "src": "34365:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7285, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7275, + "src": "34369:2:16", + "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": 7279, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34301:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7280, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34301:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7286, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34301:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7278, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "34285:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34285:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7288, + "nodeType": "ExpressionStatement", + "src": "34285:88:16" + } + ] + }, + "id": 7290, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34209:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7276, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7269, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34227:2:16", + "nodeType": "VariableDeclaration", + "scope": 7290, + "src": "34213:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7268, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34213:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7271, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34236:2:16", + "nodeType": "VariableDeclaration", + "scope": 7290, + "src": "34231:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7270, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34231:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7273, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34245:2:16", + "nodeType": "VariableDeclaration", + "scope": 7290, + "src": "34240:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7272, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34240:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7275, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34263:2:16", + "nodeType": "VariableDeclaration", + "scope": 7290, + "src": "34249:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7274, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34249:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "34212:54:16" + }, + "returnParameters": { + "id": 7277, + "nodeType": "ParameterList", + "parameters": [], + "src": "34281:0:16" + }, + "scope": 10925, + "src": "34200:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7312, + "nodeType": "Block", + "src": "34452:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c626f6f6c29", + "id": 7304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34496:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3cc5b5d38fa67d61ad4f760e2dab344ea54d36d39a7b72ff747c1e117e2289bb", + "typeString": "literal_string \"log(string,bool,uint,bool)\"" + }, + "value": "log(string,bool,uint,bool)" + }, + { + "id": 7305, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7292, + "src": "34526:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7306, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7294, + "src": "34530:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7307, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7296, + "src": "34534:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7308, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7298, + "src": "34538:2:16", + "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": 7302, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34472:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7303, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34472:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7309, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34472:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7301, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "34456:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34456:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7311, + "nodeType": "ExpressionStatement", + "src": "34456:86:16" + } + ] + }, + "id": 7313, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34389:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7299, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7292, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34407:2:16", + "nodeType": "VariableDeclaration", + "scope": 7313, + "src": "34393:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7291, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34393:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7294, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34416:2:16", + "nodeType": "VariableDeclaration", + "scope": 7313, + "src": "34411:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7293, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34411:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7296, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34425:2:16", + "nodeType": "VariableDeclaration", + "scope": 7313, + "src": "34420:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7295, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34420:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7298, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34434:2:16", + "nodeType": "VariableDeclaration", + "scope": 7313, + "src": "34429:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7297, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34429:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "34392:45:16" + }, + "returnParameters": { + "id": 7300, + "nodeType": "ParameterList", + "parameters": [], + "src": "34452:0:16" + }, + "scope": 10925, + "src": "34380:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7335, + "nodeType": "Block", + "src": "34624:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c75696e742c6164647265737329", + "id": 7327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34668:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_71d3850da171f493bcf1bd9faa0694f71484214d8459bca427251a9ad3e9bbd6", + "typeString": "literal_string \"log(string,bool,uint,address)\"" + }, + "value": "log(string,bool,uint,address)" + }, + { + "id": 7328, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7315, + "src": "34701:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7329, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7317, + "src": "34705:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7330, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7319, + "src": "34709:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7331, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7321, + "src": "34713:2:16", + "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": 7325, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34644:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7326, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34644:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7332, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34644:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7324, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "34628:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34628:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7334, + "nodeType": "ExpressionStatement", + "src": "34628:89:16" + } + ] + }, + "id": 7336, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34558:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7322, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7315, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34576:2:16", + "nodeType": "VariableDeclaration", + "scope": 7336, + "src": "34562:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7314, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34562:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7317, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34585:2:16", + "nodeType": "VariableDeclaration", + "scope": 7336, + "src": "34580:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7316, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34580:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7319, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34594:2:16", + "nodeType": "VariableDeclaration", + "scope": 7336, + "src": "34589:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7318, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34589:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7321, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34606:2:16", + "nodeType": "VariableDeclaration", + "scope": 7336, + "src": "34598:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7320, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "34598:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "34561:48:16" + }, + "returnParameters": { + "id": 7323, + "nodeType": "ParameterList", + "parameters": [], + "src": "34624:0:16" + }, + "scope": 10925, + "src": "34549:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7358, + "nodeType": "Block", + "src": "34805:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c75696e7429", + "id": 7350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "34849:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_34cb308d42fc37e3a239bcd0d717cf3713a336733737bee1d82ac9061e969d72", + "typeString": "literal_string \"log(string,bool,string,uint)\"" + }, + "value": "log(string,bool,string,uint)" + }, + { + "id": 7351, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7338, + "src": "34881:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7352, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7340, + "src": "34885:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7353, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7342, + "src": "34889:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7354, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7344, + "src": "34893:2:16", + "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": 7348, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "34825:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7349, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "34825:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7355, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34825:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7347, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "34809:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34809:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7357, + "nodeType": "ExpressionStatement", + "src": "34809:88:16" + } + ] + }, + "id": 7359, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34733:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7345, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7338, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34751:2:16", + "nodeType": "VariableDeclaration", + "scope": 7359, + "src": "34737:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7337, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34737:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7340, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34760:2:16", + "nodeType": "VariableDeclaration", + "scope": 7359, + "src": "34755:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7339, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34755:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7342, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34778:2:16", + "nodeType": "VariableDeclaration", + "scope": 7359, + "src": "34764:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7341, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34764:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7344, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34787:2:16", + "nodeType": "VariableDeclaration", + "scope": 7359, + "src": "34782:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7343, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "34782:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "34736:54:16" + }, + "returnParameters": { + "id": 7346, + "nodeType": "ParameterList", + "parameters": [], + "src": "34805:0:16" + }, + "scope": 10925, + "src": "34724:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7381, + "nodeType": "Block", + "src": "34994:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c737472696e6729", + "id": 7373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35038:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a826caebc65f4a71211c1c7fd8dc9bdd856d7ef7dbeef42d8af156e9f73bc47d", + "typeString": "literal_string \"log(string,bool,string,string)\"" + }, + "value": "log(string,bool,string,string)" + }, + { + "id": 7374, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7361, + "src": "35072:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7375, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7363, + "src": "35076:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7376, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7365, + "src": "35080:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7377, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7367, + "src": "35084:2:16", + "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": 7371, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35014:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7372, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35014:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7378, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35014:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7370, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "34998:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "34998:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7380, + "nodeType": "ExpressionStatement", + "src": "34998:90:16" + } + ] + }, + "id": 7382, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "34913:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7368, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7361, + "mutability": "mutable", + "name": "p0", + "nameLocation": "34931:2:16", + "nodeType": "VariableDeclaration", + "scope": 7382, + "src": "34917:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7360, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34917:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7363, + "mutability": "mutable", + "name": "p1", + "nameLocation": "34940:2:16", + "nodeType": "VariableDeclaration", + "scope": 7382, + "src": "34935:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7362, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "34935:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7365, + "mutability": "mutable", + "name": "p2", + "nameLocation": "34958:2:16", + "nodeType": "VariableDeclaration", + "scope": 7382, + "src": "34944:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7364, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34944:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7367, + "mutability": "mutable", + "name": "p3", + "nameLocation": "34976:2:16", + "nodeType": "VariableDeclaration", + "scope": 7382, + "src": "34962:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7366, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "34962:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "34916:63:16" + }, + "returnParameters": { + "id": 7369, + "nodeType": "ParameterList", + "parameters": [], + "src": "34994:0:16" + }, + "scope": 10925, + "src": "34904:188:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7404, + "nodeType": "Block", + "src": "35176:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c626f6f6c29", + "id": 7396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35220:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3f8a701d00386d6ad9c7b7a930805b985bcbbe108e894a7d5cb9493e87e57e8b", + "typeString": "literal_string \"log(string,bool,string,bool)\"" + }, + "value": "log(string,bool,string,bool)" + }, + { + "id": 7397, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7384, + "src": "35252:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7398, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7386, + "src": "35256:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7399, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7388, + "src": "35260:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7400, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7390, + "src": "35264:2:16", + "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": 7394, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35196:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7395, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35196:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35196:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7393, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "35180:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35180:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7403, + "nodeType": "ExpressionStatement", + "src": "35180:88:16" + } + ] + }, + "id": 7405, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35104:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7391, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7384, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35122:2:16", + "nodeType": "VariableDeclaration", + "scope": 7405, + "src": "35108:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7383, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35108:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7386, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35131:2:16", + "nodeType": "VariableDeclaration", + "scope": 7405, + "src": "35126:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7385, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35126:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7388, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35149:2:16", + "nodeType": "VariableDeclaration", + "scope": 7405, + "src": "35135:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7387, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35135:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7390, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35158:2:16", + "nodeType": "VariableDeclaration", + "scope": 7405, + "src": "35153:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7389, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35153:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "35107:54:16" + }, + "returnParameters": { + "id": 7392, + "nodeType": "ParameterList", + "parameters": [], + "src": "35176:0:16" + }, + "scope": 10925, + "src": "35095:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7427, + "nodeType": "Block", + "src": "35359:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c737472696e672c6164647265737329", + "id": 7419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35403:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e0625b292fa5cbc865b55f61713cbbe0ce7abb244ec2df45291ea19c30ddfaf8", + "typeString": "literal_string \"log(string,bool,string,address)\"" + }, + "value": "log(string,bool,string,address)" + }, + { + "id": 7420, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7407, + "src": "35438:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7421, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7409, + "src": "35442:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7422, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7411, + "src": "35446:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7423, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7413, + "src": "35450:2:16", + "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": 7417, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35379:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7418, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35379:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35379:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7416, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "35363:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35363:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7426, + "nodeType": "ExpressionStatement", + "src": "35363:91:16" + } + ] + }, + "id": 7428, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35284:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7414, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7407, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35302:2:16", + "nodeType": "VariableDeclaration", + "scope": 7428, + "src": "35288:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7406, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35288:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7409, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35311:2:16", + "nodeType": "VariableDeclaration", + "scope": 7428, + "src": "35306:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7408, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35306:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7411, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35329:2:16", + "nodeType": "VariableDeclaration", + "scope": 7428, + "src": "35315:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7410, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35315:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7413, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35341:2:16", + "nodeType": "VariableDeclaration", + "scope": 7428, + "src": "35333:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7412, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "35333:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "35287:57:16" + }, + "returnParameters": { + "id": 7415, + "nodeType": "ParameterList", + "parameters": [], + "src": "35359:0:16" + }, + "scope": 10925, + "src": "35275:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7450, + "nodeType": "Block", + "src": "35533:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c75696e7429", + "id": 7442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35577:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_807531e8eafdd7a15a803e586dd9a01b2aa8ae2cdd52f093775c0dcb0c977edf", + "typeString": "literal_string \"log(string,bool,bool,uint)\"" + }, + "value": "log(string,bool,bool,uint)" + }, + { + "id": 7443, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7430, + "src": "35607:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7444, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7432, + "src": "35611:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7445, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7434, + "src": "35615:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7446, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7436, + "src": "35619:2:16", + "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": 7440, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35553:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7441, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35553:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7447, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35553:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7439, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "35537:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35537:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7449, + "nodeType": "ExpressionStatement", + "src": "35537:86:16" + } + ] + }, + "id": 7451, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35470:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7437, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7430, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35488:2:16", + "nodeType": "VariableDeclaration", + "scope": 7451, + "src": "35474:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7429, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35474:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7432, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35497:2:16", + "nodeType": "VariableDeclaration", + "scope": 7451, + "src": "35492:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7431, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35492:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7434, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35506:2:16", + "nodeType": "VariableDeclaration", + "scope": 7451, + "src": "35501:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7433, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35501:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7436, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35515:2:16", + "nodeType": "VariableDeclaration", + "scope": 7451, + "src": "35510:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7435, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "35510:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "35473:45:16" + }, + "returnParameters": { + "id": 7438, + "nodeType": "ParameterList", + "parameters": [], + "src": "35533:0:16" + }, + "scope": 10925, + "src": "35461:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7473, + "nodeType": "Block", + "src": "35711:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c737472696e6729", + "id": 7465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35755:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9d22d5dd5fa6b44920526f32944af8a0b12651bcfe7d5e4d9330573146eaf058", + "typeString": "literal_string \"log(string,bool,bool,string)\"" + }, + "value": "log(string,bool,bool,string)" + }, + { + "id": 7466, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7453, + "src": "35787:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7467, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7455, + "src": "35791:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7468, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7457, + "src": "35795:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7469, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7459, + "src": "35799:2:16", + "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": 7463, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35731:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7464, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35731:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35731:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7462, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "35715:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35715:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7472, + "nodeType": "ExpressionStatement", + "src": "35715:88:16" + } + ] + }, + "id": 7474, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35639:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7460, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7453, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35657:2:16", + "nodeType": "VariableDeclaration", + "scope": 7474, + "src": "35643:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7452, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35643:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7455, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35666:2:16", + "nodeType": "VariableDeclaration", + "scope": 7474, + "src": "35661:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7454, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35661:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7457, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35675:2:16", + "nodeType": "VariableDeclaration", + "scope": 7474, + "src": "35670:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7456, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35670:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7459, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35693:2:16", + "nodeType": "VariableDeclaration", + "scope": 7474, + "src": "35679:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7458, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35679:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "35642:54:16" + }, + "returnParameters": { + "id": 7461, + "nodeType": "ParameterList", + "parameters": [], + "src": "35711:0:16" + }, + "scope": 10925, + "src": "35630:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7496, + "nodeType": "Block", + "src": "35882:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 7488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "35926:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_895af8c5b50078ceec3119054e20583155eeb3e1a8f56b8ed56efbec57456ad2", + "typeString": "literal_string \"log(string,bool,bool,bool)\"" + }, + "value": "log(string,bool,bool,bool)" + }, + { + "id": 7489, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7476, + "src": "35956:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7490, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7478, + "src": "35960:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7491, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7480, + "src": "35964:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7492, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7482, + "src": "35968:2:16", + "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": 7486, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "35902:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7487, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "35902:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7493, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35902:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7485, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "35886:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "35886:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7495, + "nodeType": "ExpressionStatement", + "src": "35886:86:16" + } + ] + }, + "id": 7497, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35819:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7483, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7476, + "mutability": "mutable", + "name": "p0", + "nameLocation": "35837:2:16", + "nodeType": "VariableDeclaration", + "scope": 7497, + "src": "35823:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7475, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35823:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7478, + "mutability": "mutable", + "name": "p1", + "nameLocation": "35846:2:16", + "nodeType": "VariableDeclaration", + "scope": 7497, + "src": "35841:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7477, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35841:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7480, + "mutability": "mutable", + "name": "p2", + "nameLocation": "35855:2:16", + "nodeType": "VariableDeclaration", + "scope": 7497, + "src": "35850:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7479, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35850:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7482, + "mutability": "mutable", + "name": "p3", + "nameLocation": "35864:2:16", + "nodeType": "VariableDeclaration", + "scope": 7497, + "src": "35859:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7481, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "35859:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "35822:45:16" + }, + "returnParameters": { + "id": 7484, + "nodeType": "ParameterList", + "parameters": [], + "src": "35882:0:16" + }, + "scope": 10925, + "src": "35810:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7519, + "nodeType": "Block", + "src": "36054:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c626f6f6c2c6164647265737329", + "id": 7511, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36098:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7190a529624f3e9168945b9053b9648f6439313f31cad0801b50f9dc38a45d4d", + "typeString": "literal_string \"log(string,bool,bool,address)\"" + }, + "value": "log(string,bool,bool,address)" + }, + { + "id": 7512, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7499, + "src": "36131:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7513, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7501, + "src": "36135:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7514, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7503, + "src": "36139:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7515, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7505, + "src": "36143:2:16", + "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": 7509, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36074:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7510, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36074:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7516, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36074:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7508, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "36058:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36058:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7518, + "nodeType": "ExpressionStatement", + "src": "36058:89:16" + } + ] + }, + "id": 7520, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "35988:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7506, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7499, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36006:2:16", + "nodeType": "VariableDeclaration", + "scope": 7520, + "src": "35992:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7498, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "35992:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7501, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36015:2:16", + "nodeType": "VariableDeclaration", + "scope": 7520, + "src": "36010:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7500, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36010:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7503, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36024:2:16", + "nodeType": "VariableDeclaration", + "scope": 7520, + "src": "36019:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7502, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36019:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7505, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36036:2:16", + "nodeType": "VariableDeclaration", + "scope": 7520, + "src": "36028:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7504, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36028:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "35991:48:16" + }, + "returnParameters": { + "id": 7507, + "nodeType": "ParameterList", + "parameters": [], + "src": "36054:0:16" + }, + "scope": 10925, + "src": "35979:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7542, + "nodeType": "Block", + "src": "36229:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c75696e7429", + "id": 7534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36273:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_28df4e96d50017c69e64253ea877c992512b689fb9fed17cf6af78f104f1200b", + "typeString": "literal_string \"log(string,bool,address,uint)\"" + }, + "value": "log(string,bool,address,uint)" + }, + { + "id": 7535, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7522, + "src": "36306:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7536, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7524, + "src": "36310:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7537, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7526, + "src": "36314:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7538, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7528, + "src": "36318:2:16", + "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": 7532, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36249:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7533, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36249:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7539, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36249:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7531, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "36233:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36233:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7541, + "nodeType": "ExpressionStatement", + "src": "36233:89:16" + } + ] + }, + "id": 7543, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36163:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7522, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36181:2:16", + "nodeType": "VariableDeclaration", + "scope": 7543, + "src": "36167:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7521, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36167:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7524, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36190:2:16", + "nodeType": "VariableDeclaration", + "scope": 7543, + "src": "36185:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7523, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36185:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7526, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36202:2:16", + "nodeType": "VariableDeclaration", + "scope": 7543, + "src": "36194:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7525, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36194:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7528, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36211:2:16", + "nodeType": "VariableDeclaration", + "scope": 7543, + "src": "36206:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7527, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "36206:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "36166:48:16" + }, + "returnParameters": { + "id": 7530, + "nodeType": "ParameterList", + "parameters": [], + "src": "36229:0:16" + }, + "scope": 10925, + "src": "36154:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7565, + "nodeType": "Block", + "src": "36413:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c737472696e6729", + "id": 7557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36457:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2d8e33a4e52268aad313274a8446eec6f40466a28da2456a8f12d83b298c13ef", + "typeString": "literal_string \"log(string,bool,address,string)\"" + }, + "value": "log(string,bool,address,string)" + }, + { + "id": 7558, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7545, + "src": "36492:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7559, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7547, + "src": "36496:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7560, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7549, + "src": "36500:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7561, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7551, + "src": "36504:2:16", + "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": 7555, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36433:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7556, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36433:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7562, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36433:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7554, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "36417:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36417:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7564, + "nodeType": "ExpressionStatement", + "src": "36417:91:16" + } + ] + }, + "id": 7566, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36338:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7552, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7545, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36356:2:16", + "nodeType": "VariableDeclaration", + "scope": 7566, + "src": "36342:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7544, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36342:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7547, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36365:2:16", + "nodeType": "VariableDeclaration", + "scope": 7566, + "src": "36360:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7546, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36360:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7549, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36377:2:16", + "nodeType": "VariableDeclaration", + "scope": 7566, + "src": "36369:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7548, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36369:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7551, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36395:2:16", + "nodeType": "VariableDeclaration", + "scope": 7566, + "src": "36381:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7550, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36381:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "36341:57:16" + }, + "returnParameters": { + "id": 7553, + "nodeType": "ParameterList", + "parameters": [], + "src": "36413:0:16" + }, + "scope": 10925, + "src": "36329:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7588, + "nodeType": "Block", + "src": "36590:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c626f6f6c29", + "id": 7580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36634:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_958c28c6e7bd79de7ce7f6f112cbcb194d9e383764dfb947492ee1374ff5c482", + "typeString": "literal_string \"log(string,bool,address,bool)\"" + }, + "value": "log(string,bool,address,bool)" + }, + { + "id": 7581, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7568, + "src": "36667:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7582, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7570, + "src": "36671:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7583, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7572, + "src": "36675:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7584, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7574, + "src": "36679:2:16", + "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": 7578, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36610:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7579, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36610:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7585, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36610:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7577, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "36594:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36594:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7587, + "nodeType": "ExpressionStatement", + "src": "36594:89:16" + } + ] + }, + "id": 7589, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36524:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7568, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36542:2:16", + "nodeType": "VariableDeclaration", + "scope": 7589, + "src": "36528:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7567, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36528:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7570, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36551:2:16", + "nodeType": "VariableDeclaration", + "scope": 7589, + "src": "36546:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7569, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36546:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7572, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36563:2:16", + "nodeType": "VariableDeclaration", + "scope": 7589, + "src": "36555:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7571, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36555:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7574, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36572:2:16", + "nodeType": "VariableDeclaration", + "scope": 7589, + "src": "36567:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7573, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36567:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "36527:48:16" + }, + "returnParameters": { + "id": 7576, + "nodeType": "ParameterList", + "parameters": [], + "src": "36590:0:16" + }, + "scope": 10925, + "src": "36515:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7611, + "nodeType": "Block", + "src": "36768:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c626f6f6c2c616464726573732c6164647265737329", + "id": 7603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36812:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_33e9dd1deb33816160eb59d86987de501b214bedbbe3c70103eff4092834b53d", + "typeString": "literal_string \"log(string,bool,address,address)\"" + }, + "value": "log(string,bool,address,address)" + }, + { + "id": 7604, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7591, + "src": "36848:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7605, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7593, + "src": "36852:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7606, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7595, + "src": "36856:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7607, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7597, + "src": "36860:2:16", + "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": 7601, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36788:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7602, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36788:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7608, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36788:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7600, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "36772:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36772:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7610, + "nodeType": "ExpressionStatement", + "src": "36772:92:16" + } + ] + }, + "id": 7612, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36699:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7598, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7591, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36717:2:16", + "nodeType": "VariableDeclaration", + "scope": 7612, + "src": "36703:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7590, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36703:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7593, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36726:2:16", + "nodeType": "VariableDeclaration", + "scope": 7612, + "src": "36721:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7592, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "36721:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7595, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36738:2:16", + "nodeType": "VariableDeclaration", + "scope": 7612, + "src": "36730:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7594, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36730:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7597, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36750:2:16", + "nodeType": "VariableDeclaration", + "scope": 7612, + "src": "36742:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7596, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36742:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "36702:51:16" + }, + "returnParameters": { + "id": 7599, + "nodeType": "ParameterList", + "parameters": [], + "src": "36768:0:16" + }, + "scope": 10925, + "src": "36690:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7634, + "nodeType": "Block", + "src": "36946:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c75696e7429", + "id": 7626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "36990:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_daa394bd4914eaece965f4173c7699746dff411e470b03385f052bd7b13f1bd3", + "typeString": "literal_string \"log(string,address,uint,uint)\"" + }, + "value": "log(string,address,uint,uint)" + }, + { + "id": 7627, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7614, + "src": "37023:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7628, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7616, + "src": "37027:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7629, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7618, + "src": "37031:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7630, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7620, + "src": "37035:2:16", + "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": 7624, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "36966:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7625, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "36966:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7631, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36966:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7623, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "36950:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "36950:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7633, + "nodeType": "ExpressionStatement", + "src": "36950:89:16" + } + ] + }, + "id": 7635, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "36880:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7614, + "mutability": "mutable", + "name": "p0", + "nameLocation": "36898:2:16", + "nodeType": "VariableDeclaration", + "scope": 7635, + "src": "36884:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7613, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "36884:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7616, + "mutability": "mutable", + "name": "p1", + "nameLocation": "36910:2:16", + "nodeType": "VariableDeclaration", + "scope": 7635, + "src": "36902:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "36902:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7618, + "mutability": "mutable", + "name": "p2", + "nameLocation": "36919:2:16", + "nodeType": "VariableDeclaration", + "scope": 7635, + "src": "36914:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7617, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "36914:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7620, + "mutability": "mutable", + "name": "p3", + "nameLocation": "36928:2:16", + "nodeType": "VariableDeclaration", + "scope": 7635, + "src": "36923:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7619, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "36923:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "36883:48:16" + }, + "returnParameters": { + "id": 7622, + "nodeType": "ParameterList", + "parameters": [], + "src": "36946:0:16" + }, + "scope": 10925, + "src": "36871:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7657, + "nodeType": "Block", + "src": "37130:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c737472696e6729", + "id": 7649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37174:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4c55f234d048f08e770926729ee5d8a9c70d6b9a607ce037165c7e0f36155a98", + "typeString": "literal_string \"log(string,address,uint,string)\"" + }, + "value": "log(string,address,uint,string)" + }, + { + "id": 7650, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7637, + "src": "37209:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7651, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7639, + "src": "37213:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7652, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7641, + "src": "37217:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7653, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7643, + "src": "37221:2:16", + "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": 7647, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37150:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7648, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37150:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7654, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37150:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7646, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "37134:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37134:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7656, + "nodeType": "ExpressionStatement", + "src": "37134:91:16" + } + ] + }, + "id": 7658, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37055:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7644, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7637, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37073:2:16", + "nodeType": "VariableDeclaration", + "scope": 7658, + "src": "37059:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7636, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37059:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7639, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37085:2:16", + "nodeType": "VariableDeclaration", + "scope": 7658, + "src": "37077:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7638, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "37077:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7641, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37094:2:16", + "nodeType": "VariableDeclaration", + "scope": 7658, + "src": "37089:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7640, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "37089:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7643, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37112:2:16", + "nodeType": "VariableDeclaration", + "scope": 7658, + "src": "37098:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7642, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37098:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "37058:57:16" + }, + "returnParameters": { + "id": 7645, + "nodeType": "ParameterList", + "parameters": [], + "src": "37130:0:16" + }, + "scope": 10925, + "src": "37046:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7680, + "nodeType": "Block", + "src": "37307:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c626f6f6c29", + "id": 7672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37351:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ac1c13c91f65a91284d9d77ba7484e75b0a3dd9b57a01fd497babb7d6ebc554", + "typeString": "literal_string \"log(string,address,uint,bool)\"" + }, + "value": "log(string,address,uint,bool)" + }, + { + "id": 7673, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7660, + "src": "37384:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7674, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7662, + "src": "37388:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7675, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7664, + "src": "37392:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7676, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7666, + "src": "37396:2:16", + "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": 7670, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37327:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7671, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37327:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7677, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37327:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7669, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "37311:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37311:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7679, + "nodeType": "ExpressionStatement", + "src": "37311:89:16" + } + ] + }, + "id": 7681, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37241:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7667, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7660, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37259:2:16", + "nodeType": "VariableDeclaration", + "scope": 7681, + "src": "37245:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7659, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37245:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7662, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37271:2:16", + "nodeType": "VariableDeclaration", + "scope": 7681, + "src": "37263:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7661, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "37263:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7664, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37280:2:16", + "nodeType": "VariableDeclaration", + "scope": 7681, + "src": "37275:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7663, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "37275:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7666, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37289:2:16", + "nodeType": "VariableDeclaration", + "scope": 7681, + "src": "37284:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7665, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "37284:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "37244:48:16" + }, + "returnParameters": { + "id": 7668, + "nodeType": "ParameterList", + "parameters": [], + "src": "37307:0:16" + }, + "scope": 10925, + "src": "37232:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7703, + "nodeType": "Block", + "src": "37485:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c75696e742c6164647265737329", + "id": 7695, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37529:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a366ec808c8af1aa091e8102642939a99436cf04d3dfac2ae23c299404f821b2", + "typeString": "literal_string \"log(string,address,uint,address)\"" + }, + "value": "log(string,address,uint,address)" + }, + { + "id": 7696, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7683, + "src": "37565:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7697, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7685, + "src": "37569:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7698, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7687, + "src": "37573:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7699, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7689, + "src": "37577:2:16", + "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": 7693, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37505:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7694, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37505:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37505:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7692, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "37489:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37489:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7702, + "nodeType": "ExpressionStatement", + "src": "37489:92:16" + } + ] + }, + "id": 7704, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37416:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7690, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7683, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37434:2:16", + "nodeType": "VariableDeclaration", + "scope": 7704, + "src": "37420:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7682, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37420:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7685, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37446:2:16", + "nodeType": "VariableDeclaration", + "scope": 7704, + "src": "37438:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "37438:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7687, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37455:2:16", + "nodeType": "VariableDeclaration", + "scope": 7704, + "src": "37450:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7686, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "37450:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7689, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37467:2:16", + "nodeType": "VariableDeclaration", + "scope": 7704, + "src": "37459:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7688, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "37459:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "37419:51:16" + }, + "returnParameters": { + "id": 7691, + "nodeType": "ParameterList", + "parameters": [], + "src": "37485:0:16" + }, + "scope": 10925, + "src": "37407:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7726, + "nodeType": "Block", + "src": "37672:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c75696e7429", + "id": 7718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37716:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f624be9ea3983abac9c65ced8f562a492ebb84e6f74cd40f35387eff4d66349", + "typeString": "literal_string \"log(string,address,string,uint)\"" + }, + "value": "log(string,address,string,uint)" + }, + { + "id": 7719, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7706, + "src": "37751:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7720, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7708, + "src": "37755:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7721, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7710, + "src": "37759:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7722, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7712, + "src": "37763:2:16", + "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": 7716, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37692:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7717, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37692:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7723, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37692:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7715, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "37676:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37676:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7725, + "nodeType": "ExpressionStatement", + "src": "37676:91:16" + } + ] + }, + "id": 7727, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37597:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7713, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7706, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37615:2:16", + "nodeType": "VariableDeclaration", + "scope": 7727, + "src": "37601:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7705, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37601:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7708, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37627:2:16", + "nodeType": "VariableDeclaration", + "scope": 7727, + "src": "37619:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7707, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "37619:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7710, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37645:2:16", + "nodeType": "VariableDeclaration", + "scope": 7727, + "src": "37631:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7709, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37631:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7712, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37654:2:16", + "nodeType": "VariableDeclaration", + "scope": 7727, + "src": "37649:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7711, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "37649:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "37600:57:16" + }, + "returnParameters": { + "id": 7714, + "nodeType": "ParameterList", + "parameters": [], + "src": "37672:0:16" + }, + "scope": 10925, + "src": "37588:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7749, + "nodeType": "Block", + "src": "37867:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c737472696e6729", + "id": 7741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "37911:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245986f22170901865e76245a48ee28ce0127ca357f6ad576a72190e1d358797", + "typeString": "literal_string \"log(string,address,string,string)\"" + }, + "value": "log(string,address,string,string)" + }, + { + "id": 7742, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7729, + "src": "37948:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7743, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7731, + "src": "37952:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7744, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7733, + "src": "37956:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7745, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7735, + "src": "37960:2:16", + "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": 7739, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "37887:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7740, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "37887:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7746, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37887:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7738, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "37871:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "37871:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7748, + "nodeType": "ExpressionStatement", + "src": "37871:93:16" + } + ] + }, + "id": 7750, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37783:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7736, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7729, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37801:2:16", + "nodeType": "VariableDeclaration", + "scope": 7750, + "src": "37787:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7728, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37787:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7731, + "mutability": "mutable", + "name": "p1", + "nameLocation": "37813:2:16", + "nodeType": "VariableDeclaration", + "scope": 7750, + "src": "37805:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7730, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "37805:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7733, + "mutability": "mutable", + "name": "p2", + "nameLocation": "37831:2:16", + "nodeType": "VariableDeclaration", + "scope": 7750, + "src": "37817:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7732, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37817:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7735, + "mutability": "mutable", + "name": "p3", + "nameLocation": "37849:2:16", + "nodeType": "VariableDeclaration", + "scope": 7750, + "src": "37835:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7734, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37835:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "37786:66:16" + }, + "returnParameters": { + "id": 7737, + "nodeType": "ParameterList", + "parameters": [], + "src": "37867:0:16" + }, + "scope": 10925, + "src": "37774:194:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7772, + "nodeType": "Block", + "src": "38055:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c626f6f6c29", + "id": 7764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38099:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5f15d28c15ddff15fba1c00f6a4975ae6af8b36c9b2a875bf59bd45049046154", + "typeString": "literal_string \"log(string,address,string,bool)\"" + }, + "value": "log(string,address,string,bool)" + }, + { + "id": 7765, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7752, + "src": "38134:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7766, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7754, + "src": "38138:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7767, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7756, + "src": "38142:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7768, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7758, + "src": "38146:2:16", + "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": 7762, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38075:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7763, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38075:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7769, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38075:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7761, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "38059:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38059:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7771, + "nodeType": "ExpressionStatement", + "src": "38059:91:16" + } + ] + }, + "id": 7773, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "37980:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7759, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7752, + "mutability": "mutable", + "name": "p0", + "nameLocation": "37998:2:16", + "nodeType": "VariableDeclaration", + "scope": 7773, + "src": "37984:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7751, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "37984:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7754, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38010:2:16", + "nodeType": "VariableDeclaration", + "scope": 7773, + "src": "38002:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7753, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38002:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7756, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38028:2:16", + "nodeType": "VariableDeclaration", + "scope": 7773, + "src": "38014:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7755, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38014:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7758, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38037:2:16", + "nodeType": "VariableDeclaration", + "scope": 7773, + "src": "38032:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7757, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38032:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "37983:57:16" + }, + "returnParameters": { + "id": 7760, + "nodeType": "ParameterList", + "parameters": [], + "src": "38055:0:16" + }, + "scope": 10925, + "src": "37971:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7795, + "nodeType": "Block", + "src": "38244:102:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c737472696e672c6164647265737329", + "id": 7787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38288:36:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aabc9a311ab49789834b120d81155a7fee846a9f0d4f740bbeb970770190c82d", + "typeString": "literal_string \"log(string,address,string,address)\"" + }, + "value": "log(string,address,string,address)" + }, + { + "id": 7788, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7775, + "src": "38326:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7789, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7777, + "src": "38330:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7790, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7779, + "src": "38334:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7791, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7781, + "src": "38338:2:16", + "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": 7785, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38264:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7786, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38264:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7792, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38264:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7784, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "38248:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38248:94:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7794, + "nodeType": "ExpressionStatement", + "src": "38248:94:16" + } + ] + }, + "id": 7796, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38166:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7782, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7775, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38184:2:16", + "nodeType": "VariableDeclaration", + "scope": 7796, + "src": "38170:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7774, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38170:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7777, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38196:2:16", + "nodeType": "VariableDeclaration", + "scope": 7796, + "src": "38188:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7776, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38188:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7779, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38214:2:16", + "nodeType": "VariableDeclaration", + "scope": 7796, + "src": "38200:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7778, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38200:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7781, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38226:2:16", + "nodeType": "VariableDeclaration", + "scope": 7796, + "src": "38218:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7780, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38218:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "38169:60:16" + }, + "returnParameters": { + "id": 7783, + "nodeType": "ParameterList", + "parameters": [], + "src": "38244:0:16" + }, + "scope": 10925, + "src": "38157:189:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7818, + "nodeType": "Block", + "src": "38424:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c75696e7429", + "id": 7810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38468:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c5d1bb8ba57e795e9925065473f653a381a99be37bdcfbeaf49f38097f35af7f", + "typeString": "literal_string \"log(string,address,bool,uint)\"" + }, + "value": "log(string,address,bool,uint)" + }, + { + "id": 7811, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7798, + "src": "38501:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7812, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7800, + "src": "38505:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7813, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7802, + "src": "38509:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7814, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7804, + "src": "38513:2:16", + "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": 7808, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38444:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7809, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38444:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7815, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38444:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7807, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "38428:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38428:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7817, + "nodeType": "ExpressionStatement", + "src": "38428:89:16" + } + ] + }, + "id": 7819, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38358:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7805, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7798, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38376:2:16", + "nodeType": "VariableDeclaration", + "scope": 7819, + "src": "38362:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7797, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38362:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7800, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38388:2:16", + "nodeType": "VariableDeclaration", + "scope": 7819, + "src": "38380:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7799, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38380:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7802, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38397:2:16", + "nodeType": "VariableDeclaration", + "scope": 7819, + "src": "38392:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7801, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38392:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7804, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38406:2:16", + "nodeType": "VariableDeclaration", + "scope": 7819, + "src": "38401:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7803, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "38401:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "38361:48:16" + }, + "returnParameters": { + "id": 7806, + "nodeType": "ParameterList", + "parameters": [], + "src": "38424:0:16" + }, + "scope": 10925, + "src": "38349:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7841, + "nodeType": "Block", + "src": "38608:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c737472696e6729", + "id": 7833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38652:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0454c0793d4a41e5f630eb9a887926f8a67ff9e817a5feb968698354ac9d22fb", + "typeString": "literal_string \"log(string,address,bool,string)\"" + }, + "value": "log(string,address,bool,string)" + }, + { + "id": 7834, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7821, + "src": "38687:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7835, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7823, + "src": "38691:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7836, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7825, + "src": "38695:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7837, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7827, + "src": "38699:2:16", + "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": 7831, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38628:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7832, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38628:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7838, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38628:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7830, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "38612:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38612:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7840, + "nodeType": "ExpressionStatement", + "src": "38612:91:16" + } + ] + }, + "id": 7842, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38533:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7828, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7821, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38551:2:16", + "nodeType": "VariableDeclaration", + "scope": 7842, + "src": "38537:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7820, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38537:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7823, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38563:2:16", + "nodeType": "VariableDeclaration", + "scope": 7842, + "src": "38555:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7822, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38555:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7825, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38572:2:16", + "nodeType": "VariableDeclaration", + "scope": 7842, + "src": "38567:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7824, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38567:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7827, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38590:2:16", + "nodeType": "VariableDeclaration", + "scope": 7842, + "src": "38576:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7826, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38576:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "38536:57:16" + }, + "returnParameters": { + "id": 7829, + "nodeType": "ParameterList", + "parameters": [], + "src": "38608:0:16" + }, + "scope": 10925, + "src": "38524:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7864, + "nodeType": "Block", + "src": "38785:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c626f6f6c29", + "id": 7856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "38829:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_79884c2bc85eb73c854df1610df373a05f191b834f79cd47a7ab28be2308c039", + "typeString": "literal_string \"log(string,address,bool,bool)\"" + }, + "value": "log(string,address,bool,bool)" + }, + { + "id": 7857, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7844, + "src": "38862:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7858, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7846, + "src": "38866:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7859, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7848, + "src": "38870:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7860, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7850, + "src": "38874:2:16", + "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": 7854, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38805:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7855, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38805:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7861, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38805:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7853, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "38789:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38789:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7863, + "nodeType": "ExpressionStatement", + "src": "38789:89:16" + } + ] + }, + "id": 7865, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38719:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7851, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7844, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38737:2:16", + "nodeType": "VariableDeclaration", + "scope": 7865, + "src": "38723:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7843, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38723:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7846, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38749:2:16", + "nodeType": "VariableDeclaration", + "scope": 7865, + "src": "38741:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7845, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38741:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7848, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38758:2:16", + "nodeType": "VariableDeclaration", + "scope": 7865, + "src": "38753:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7847, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38753:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7850, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38767:2:16", + "nodeType": "VariableDeclaration", + "scope": 7865, + "src": "38762:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7849, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38762:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "38722:48:16" + }, + "returnParameters": { + "id": 7852, + "nodeType": "ParameterList", + "parameters": [], + "src": "38785:0:16" + }, + "scope": 10925, + "src": "38710:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7887, + "nodeType": "Block", + "src": "38963:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c626f6f6c2c6164647265737329", + "id": 7879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39007:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_223603bd064d72559a7d519ad0f1c6a8da707a49f5718dfa23a5ccb01bf9ab76", + "typeString": "literal_string \"log(string,address,bool,address)\"" + }, + "value": "log(string,address,bool,address)" + }, + { + "id": 7880, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7867, + "src": "39043:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7881, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7869, + "src": "39047:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7882, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7871, + "src": "39051:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7883, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7873, + "src": "39055:2:16", + "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": 7877, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "38983:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7878, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "38983:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38983:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7876, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "38967:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "38967:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7886, + "nodeType": "ExpressionStatement", + "src": "38967:92:16" + } + ] + }, + "id": 7888, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "38894:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7874, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7867, + "mutability": "mutable", + "name": "p0", + "nameLocation": "38912:2:16", + "nodeType": "VariableDeclaration", + "scope": 7888, + "src": "38898:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7866, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "38898:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7869, + "mutability": "mutable", + "name": "p1", + "nameLocation": "38924:2:16", + "nodeType": "VariableDeclaration", + "scope": 7888, + "src": "38916:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7868, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38916:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7871, + "mutability": "mutable", + "name": "p2", + "nameLocation": "38933:2:16", + "nodeType": "VariableDeclaration", + "scope": 7888, + "src": "38928:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7870, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "38928:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7873, + "mutability": "mutable", + "name": "p3", + "nameLocation": "38945:2:16", + "nodeType": "VariableDeclaration", + "scope": 7888, + "src": "38937:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7872, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "38937:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "38897:51:16" + }, + "returnParameters": { + "id": 7875, + "nodeType": "ParameterList", + "parameters": [], + "src": "38963:0:16" + }, + "scope": 10925, + "src": "38885:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7910, + "nodeType": "Block", + "src": "39144:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c75696e7429", + "id": 7902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39188:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6eb7943d4272e495e7f5cdeb25ef89b9c3c1042d5c1e0e6e11a8fdc842ff5e02", + "typeString": "literal_string \"log(string,address,address,uint)\"" + }, + "value": "log(string,address,address,uint)" + }, + { + "id": 7903, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7890, + "src": "39224:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7904, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7892, + "src": "39228:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7905, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7894, + "src": "39232:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7906, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7896, + "src": "39236:2:16", + "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": 7900, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39164:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7901, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39164:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "39164:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7899, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "39148:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "39148:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7909, + "nodeType": "ExpressionStatement", + "src": "39148:92:16" + } + ] + }, + "id": 7911, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39075:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7897, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7890, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39093:2:16", + "nodeType": "VariableDeclaration", + "scope": 7911, + "src": "39079:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7889, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39079:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7892, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39105:2:16", + "nodeType": "VariableDeclaration", + "scope": 7911, + "src": "39097:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7891, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39097:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7894, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39117:2:16", + "nodeType": "VariableDeclaration", + "scope": 7911, + "src": "39109:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7893, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39109:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7896, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39126:2:16", + "nodeType": "VariableDeclaration", + "scope": 7911, + "src": "39121:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7895, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "39121:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "39078:51:16" + }, + "returnParameters": { + "id": 7898, + "nodeType": "ParameterList", + "parameters": [], + "src": "39144:0:16" + }, + "scope": 10925, + "src": "39066:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7933, + "nodeType": "Block", + "src": "39334:102:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c737472696e6729", + "id": 7925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39378:36:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_800a1c6756a402b6162ca8653fd8e87e2c52d1c019c876e92eb2980479636a76", + "typeString": "literal_string \"log(string,address,address,string)\"" + }, + "value": "log(string,address,address,string)" + }, + { + "id": 7926, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7913, + "src": "39416:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7927, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7915, + "src": "39420:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7928, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7917, + "src": "39424:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7929, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7919, + "src": "39428:2:16", + "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": 7923, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39354:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7924, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39354:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "39354:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7922, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "39338:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "39338:94:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7932, + "nodeType": "ExpressionStatement", + "src": "39338:94:16" + } + ] + }, + "id": 7934, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39256:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7920, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7913, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39274:2:16", + "nodeType": "VariableDeclaration", + "scope": 7934, + "src": "39260:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7912, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39260:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7915, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39286:2:16", + "nodeType": "VariableDeclaration", + "scope": 7934, + "src": "39278:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7914, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39278:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7917, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39298:2:16", + "nodeType": "VariableDeclaration", + "scope": 7934, + "src": "39290:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7916, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39290:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7919, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39316:2:16", + "nodeType": "VariableDeclaration", + "scope": 7934, + "src": "39302:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7918, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39302:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "39259:60:16" + }, + "returnParameters": { + "id": 7921, + "nodeType": "ParameterList", + "parameters": [], + "src": "39334:0:16" + }, + "scope": 10925, + "src": "39247:189:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7956, + "nodeType": "Block", + "src": "39517:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c626f6f6c29", + "id": 7948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39561:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b59dbd60587b4eeae521d5427cbc88bff32729f88aff059e7deb0a3a4320aaf4", + "typeString": "literal_string \"log(string,address,address,bool)\"" + }, + "value": "log(string,address,address,bool)" + }, + { + "id": 7949, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7936, + "src": "39597:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7950, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7938, + "src": "39601:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7951, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7940, + "src": "39605:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7952, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7942, + "src": "39609:2:16", + "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": 7946, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39537:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39537:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7953, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "39537:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7945, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "39521:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "39521:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7955, + "nodeType": "ExpressionStatement", + "src": "39521:92:16" + } + ] + }, + "id": 7957, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39448:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7943, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7936, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39466:2:16", + "nodeType": "VariableDeclaration", + "scope": 7957, + "src": "39452:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7935, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39452:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7938, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39478:2:16", + "nodeType": "VariableDeclaration", + "scope": 7957, + "src": "39470:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7937, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39470:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7940, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39490:2:16", + "nodeType": "VariableDeclaration", + "scope": 7957, + "src": "39482:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7939, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39482:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7942, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39499:2:16", + "nodeType": "VariableDeclaration", + "scope": 7957, + "src": "39494:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7941, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39494:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "39451:51:16" + }, + "returnParameters": { + "id": 7944, + "nodeType": "ParameterList", + "parameters": [], + "src": "39517:0:16" + }, + "scope": 10925, + "src": "39439:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 7979, + "nodeType": "Block", + "src": "39701:103:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728737472696e672c616464726573732c616464726573732c6164647265737329", + "id": 7971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39745:37:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed8f28f6f4b5d54b1d37f705e543f556805f28b9d1bb3aef0ef7e57ef4992d15", + "typeString": "literal_string \"log(string,address,address,address)\"" + }, + "value": "log(string,address,address,address)" + }, + { + "id": 7972, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7959, + "src": "39784:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 7973, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7961, + "src": "39788:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7974, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7963, + "src": "39792:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 7975, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7965, + "src": "39796:2:16", + "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": 7969, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39721:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7970, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39721:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "39721:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7968, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "39705:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 7977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "39705:95:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 7978, + "nodeType": "ExpressionStatement", + "src": "39705:95:16" + } + ] + }, + "id": 7980, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39629:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7966, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7959, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39647:2:16", + "nodeType": "VariableDeclaration", + "scope": 7980, + "src": "39633:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 7958, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "39633:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7961, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39659:2:16", + "nodeType": "VariableDeclaration", + "scope": 7980, + "src": "39651:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7960, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39651:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7963, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39671:2:16", + "nodeType": "VariableDeclaration", + "scope": 7980, + "src": "39663:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7962, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39663:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7965, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39683:2:16", + "nodeType": "VariableDeclaration", + "scope": 7980, + "src": "39675:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 7964, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "39675:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "39632:54:16" + }, + "returnParameters": { + "id": 7967, + "nodeType": "ParameterList", + "parameters": [], + "src": "39701:0:16" + }, + "scope": 10925, + "src": "39620:184:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8002, + "nodeType": "Block", + "src": "39870:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c75696e7429", + "id": 7994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "39914:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_32dfa524f720faf836764864b46011dc5eb74e494d57e12b294a68048585d558", + "typeString": "literal_string \"log(bool,uint,uint,uint)\"" + }, + "value": "log(bool,uint,uint,uint)" + }, + { + "id": 7995, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7982, + "src": "39942:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 7996, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7984, + "src": "39946:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7997, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7986, + "src": "39950:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 7998, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 7988, + "src": "39954:2:16", + "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": 7992, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "39890:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 7993, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "39890:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 7999, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "39890:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 7991, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "39874:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "39874:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8001, + "nodeType": "ExpressionStatement", + "src": "39874:84:16" + } + ] + }, + "id": 8003, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39816:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 7989, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 7982, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39825:2:16", + "nodeType": "VariableDeclaration", + "scope": 8003, + "src": "39820:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 7981, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39820:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7984, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39834:2:16", + "nodeType": "VariableDeclaration", + "scope": 8003, + "src": "39829:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7983, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "39829:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7986, + "mutability": "mutable", + "name": "p2", + "nameLocation": "39843:2:16", + "nodeType": "VariableDeclaration", + "scope": 8003, + "src": "39838:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7985, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "39838:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 7988, + "mutability": "mutable", + "name": "p3", + "nameLocation": "39852:2:16", + "nodeType": "VariableDeclaration", + "scope": 8003, + "src": "39847:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 7987, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "39847:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "39819:36:16" + }, + "returnParameters": { + "id": 7990, + "nodeType": "ParameterList", + "parameters": [], + "src": "39870:0:16" + }, + "scope": 10925, + "src": "39807:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8025, + "nodeType": "Block", + "src": "40037:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c737472696e6729", + "id": 8017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40081:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_da0666c89b01999f5c8980ce90fe9d0a367a350fd8d2ec7d1f94587b6281ebd3", + "typeString": "literal_string \"log(bool,uint,uint,string)\"" + }, + "value": "log(bool,uint,uint,string)" + }, + { + "id": 8018, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8005, + "src": "40111:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8019, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8007, + "src": "40115:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8020, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8009, + "src": "40119:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8021, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8011, + "src": "40123:2:16", + "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": 8015, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40057:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8016, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40057:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40057:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8014, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "40041:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40041:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8024, + "nodeType": "ExpressionStatement", + "src": "40041:86:16" + } + ] + }, + "id": 8026, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "39974:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8012, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8005, + "mutability": "mutable", + "name": "p0", + "nameLocation": "39983:2:16", + "nodeType": "VariableDeclaration", + "scope": 8026, + "src": "39978:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8004, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "39978:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8007, + "mutability": "mutable", + "name": "p1", + "nameLocation": "39992:2:16", + "nodeType": "VariableDeclaration", + "scope": 8026, + "src": "39987:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8006, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "39987:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8009, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40001:2:16", + "nodeType": "VariableDeclaration", + "scope": 8026, + "src": "39996:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8008, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "39996:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8011, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40019:2:16", + "nodeType": "VariableDeclaration", + "scope": 8026, + "src": "40005:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8010, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40005:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "39977:45:16" + }, + "returnParameters": { + "id": 8013, + "nodeType": "ParameterList", + "parameters": [], + "src": "40037:0:16" + }, + "scope": 10925, + "src": "39965:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8048, + "nodeType": "Block", + "src": "40197:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c626f6f6c29", + "id": 8040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40241:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a41d81dec511172fa866e067fea22fe074eb6260a116ec078e2e0e79a7fd8ef2", + "typeString": "literal_string \"log(bool,uint,uint,bool)\"" + }, + "value": "log(bool,uint,uint,bool)" + }, + { + "id": 8041, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8028, + "src": "40269:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8042, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8030, + "src": "40273:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8043, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8032, + "src": "40277:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8044, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8034, + "src": "40281:2:16", + "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": 8038, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40217:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8039, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40217:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8045, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40217:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8037, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "40201:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40201:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8047, + "nodeType": "ExpressionStatement", + "src": "40201:84:16" + } + ] + }, + "id": 8049, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40143:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8035, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8028, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40152:2:16", + "nodeType": "VariableDeclaration", + "scope": 8049, + "src": "40147:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8027, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40147:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8030, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40161:2:16", + "nodeType": "VariableDeclaration", + "scope": 8049, + "src": "40156:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8029, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40156:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8032, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40170:2:16", + "nodeType": "VariableDeclaration", + "scope": 8049, + "src": "40165:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8031, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40165:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8034, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40179:2:16", + "nodeType": "VariableDeclaration", + "scope": 8049, + "src": "40174:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8033, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40174:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "40146:36:16" + }, + "returnParameters": { + "id": 8036, + "nodeType": "ParameterList", + "parameters": [], + "src": "40197:0:16" + }, + "scope": 10925, + "src": "40134:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8071, + "nodeType": "Block", + "src": "40358:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c75696e742c6164647265737329", + "id": 8063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40402:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f161b2216765f7746c6d62a843721a4e56fa83880464de0ff958770fd9704e33", + "typeString": "literal_string \"log(bool,uint,uint,address)\"" + }, + "value": "log(bool,uint,uint,address)" + }, + { + "id": 8064, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8051, + "src": "40433:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8065, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8053, + "src": "40437:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8066, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8055, + "src": "40441:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8067, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8057, + "src": "40445:2:16", + "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": 8061, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40378:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8062, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40378:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40378:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8060, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "40362:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40362:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8070, + "nodeType": "ExpressionStatement", + "src": "40362:87:16" + } + ] + }, + "id": 8072, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40301:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8058, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8051, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40310:2:16", + "nodeType": "VariableDeclaration", + "scope": 8072, + "src": "40305:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8050, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40305:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8053, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40319:2:16", + "nodeType": "VariableDeclaration", + "scope": 8072, + "src": "40314:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8052, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40314:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8055, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40328:2:16", + "nodeType": "VariableDeclaration", + "scope": 8072, + "src": "40323:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8054, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40323:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8057, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40340:2:16", + "nodeType": "VariableDeclaration", + "scope": 8072, + "src": "40332:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8056, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "40332:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "40304:39:16" + }, + "returnParameters": { + "id": 8059, + "nodeType": "ParameterList", + "parameters": [], + "src": "40358:0:16" + }, + "scope": 10925, + "src": "40292:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8094, + "nodeType": "Block", + "src": "40528:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c75696e7429", + "id": 8086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40572:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4180011b79de474cdb825b6c4cfbc6d05927b06d92ab7c90ba7ff48d251e1813", + "typeString": "literal_string \"log(bool,uint,string,uint)\"" + }, + "value": "log(bool,uint,string,uint)" + }, + { + "id": 8087, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8074, + "src": "40602:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8088, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8076, + "src": "40606:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8089, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8078, + "src": "40610:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8090, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8080, + "src": "40614:2:16", + "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": 8084, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40548:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8085, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40548:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8091, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40548:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8083, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "40532:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40532:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8093, + "nodeType": "ExpressionStatement", + "src": "40532:86:16" + } + ] + }, + "id": 8095, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40465:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8081, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8074, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40474:2:16", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "40469:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8073, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40469:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8076, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40483:2:16", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "40478:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8075, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40478:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8078, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40501:2:16", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "40487:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8077, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40487:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8080, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40510:2:16", + "nodeType": "VariableDeclaration", + "scope": 8095, + "src": "40505:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8079, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40505:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "40468:45:16" + }, + "returnParameters": { + "id": 8082, + "nodeType": "ParameterList", + "parameters": [], + "src": "40528:0:16" + }, + "scope": 10925, + "src": "40456:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8117, + "nodeType": "Block", + "src": "40706:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c737472696e6729", + "id": 8109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40750:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d32a654812cf9bc5514c83d6adb00987a26a725c531c254b4dfe4eef4cdfc8ee", + "typeString": "literal_string \"log(bool,uint,string,string)\"" + }, + "value": "log(bool,uint,string,string)" + }, + { + "id": 8110, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8097, + "src": "40782:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8111, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8099, + "src": "40786:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8112, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8101, + "src": "40790:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8113, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8103, + "src": "40794:2:16", + "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": 8107, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40726:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40726:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40726:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8106, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "40710:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40710:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8116, + "nodeType": "ExpressionStatement", + "src": "40710:88:16" + } + ] + }, + "id": 8118, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40634:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8104, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8097, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40643:2:16", + "nodeType": "VariableDeclaration", + "scope": 8118, + "src": "40638:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8096, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40638:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8099, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40652:2:16", + "nodeType": "VariableDeclaration", + "scope": 8118, + "src": "40647:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8098, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40647:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8101, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40670:2:16", + "nodeType": "VariableDeclaration", + "scope": 8118, + "src": "40656:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8100, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40656:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8103, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40688:2:16", + "nodeType": "VariableDeclaration", + "scope": 8118, + "src": "40674:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8102, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40674:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "40637:54:16" + }, + "returnParameters": { + "id": 8105, + "nodeType": "ParameterList", + "parameters": [], + "src": "40706:0:16" + }, + "scope": 10925, + "src": "40625:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8140, + "nodeType": "Block", + "src": "40877:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c626f6f6c29", + "id": 8132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "40921:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_91d2f813beb255a90e7ea595fb27355b60d93c3f818aac6b4c27388d34e0ea16", + "typeString": "literal_string \"log(bool,uint,string,bool)\"" + }, + "value": "log(bool,uint,string,bool)" + }, + { + "id": 8133, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8120, + "src": "40951:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8134, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8122, + "src": "40955:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8135, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8124, + "src": "40959:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8136, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8126, + "src": "40963:2:16", + "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": 8130, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "40897:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8131, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "40897:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8137, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40897:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8129, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "40881:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "40881:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8139, + "nodeType": "ExpressionStatement", + "src": "40881:86:16" + } + ] + }, + "id": 8141, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40814:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8120, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40823:2:16", + "nodeType": "VariableDeclaration", + "scope": 8141, + "src": "40818:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8119, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40818:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8122, + "mutability": "mutable", + "name": "p1", + "nameLocation": "40832:2:16", + "nodeType": "VariableDeclaration", + "scope": 8141, + "src": "40827:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8121, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40827:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8124, + "mutability": "mutable", + "name": "p2", + "nameLocation": "40850:2:16", + "nodeType": "VariableDeclaration", + "scope": 8141, + "src": "40836:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8123, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "40836:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8126, + "mutability": "mutable", + "name": "p3", + "nameLocation": "40859:2:16", + "nodeType": "VariableDeclaration", + "scope": 8141, + "src": "40854:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8125, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40854:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "40817:45:16" + }, + "returnParameters": { + "id": 8128, + "nodeType": "ParameterList", + "parameters": [], + "src": "40877:0:16" + }, + "scope": 10925, + "src": "40805:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8163, + "nodeType": "Block", + "src": "41049:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c737472696e672c6164647265737329", + "id": 8155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41093:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a5c70d29969a9ad21bdf8986348e5dc44eea151f64e0f90231a45219c4d0e3d5", + "typeString": "literal_string \"log(bool,uint,string,address)\"" + }, + "value": "log(bool,uint,string,address)" + }, + { + "id": 8156, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8143, + "src": "41126:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8157, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8145, + "src": "41130:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8158, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8147, + "src": "41134:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8159, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8149, + "src": "41138:2:16", + "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": 8153, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41069:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8154, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41069:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8160, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41069:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8152, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "41053:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41053:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8162, + "nodeType": "ExpressionStatement", + "src": "41053:89:16" + } + ] + }, + "id": 8164, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "40983:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8150, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8143, + "mutability": "mutable", + "name": "p0", + "nameLocation": "40992:2:16", + "nodeType": "VariableDeclaration", + "scope": 8164, + "src": "40987:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8142, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "40987:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8145, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41001:2:16", + "nodeType": "VariableDeclaration", + "scope": 8164, + "src": "40996:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8144, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "40996:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8147, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41019:2:16", + "nodeType": "VariableDeclaration", + "scope": 8164, + "src": "41005:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8146, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41005:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8149, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41031:2:16", + "nodeType": "VariableDeclaration", + "scope": 8164, + "src": "41023:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8148, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41023:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "40986:48:16" + }, + "returnParameters": { + "id": 8151, + "nodeType": "ParameterList", + "parameters": [], + "src": "41049:0:16" + }, + "scope": 10925, + "src": "40974:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8186, + "nodeType": "Block", + "src": "41212:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c75696e7429", + "id": 8178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41256:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d3de5593988099d08808f80d2a972ea3da18ecd746f0a3e437c530efaad65aa0", + "typeString": "literal_string \"log(bool,uint,bool,uint)\"" + }, + "value": "log(bool,uint,bool,uint)" + }, + { + "id": 8179, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8166, + "src": "41284:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8180, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8168, + "src": "41288:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8181, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8170, + "src": "41292:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8182, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8172, + "src": "41296:2:16", + "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": 8176, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41232:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8177, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41232:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41232:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8175, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "41216:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41216:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8185, + "nodeType": "ExpressionStatement", + "src": "41216:84:16" + } + ] + }, + "id": 8187, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41158:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8173, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8166, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41167:2:16", + "nodeType": "VariableDeclaration", + "scope": 8187, + "src": "41162:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8165, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41162:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8168, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41176:2:16", + "nodeType": "VariableDeclaration", + "scope": 8187, + "src": "41171:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8167, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "41171:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8170, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41185:2:16", + "nodeType": "VariableDeclaration", + "scope": 8187, + "src": "41180:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8169, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41180:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8172, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41194:2:16", + "nodeType": "VariableDeclaration", + "scope": 8187, + "src": "41189:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8171, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "41189:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "41161:36:16" + }, + "returnParameters": { + "id": 8174, + "nodeType": "ParameterList", + "parameters": [], + "src": "41212:0:16" + }, + "scope": 10925, + "src": "41149:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8209, + "nodeType": "Block", + "src": "41379:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c737472696e6729", + "id": 8201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41423:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b6d569d433e69694879a799e3777d59bc29ee89dcbaf739de9b283882fd259ad", + "typeString": "literal_string \"log(bool,uint,bool,string)\"" + }, + "value": "log(bool,uint,bool,string)" + }, + { + "id": 8202, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8189, + "src": "41453:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8203, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8191, + "src": "41457:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8204, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8193, + "src": "41461:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8205, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8195, + "src": "41465:2:16", + "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": 8199, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41399:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8200, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41399:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8206, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41399:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8198, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "41383:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41383:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8208, + "nodeType": "ExpressionStatement", + "src": "41383:86:16" + } + ] + }, + "id": 8210, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41316:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8189, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41325:2:16", + "nodeType": "VariableDeclaration", + "scope": 8210, + "src": "41320:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8188, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41320:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8191, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41334:2:16", + "nodeType": "VariableDeclaration", + "scope": 8210, + "src": "41329:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8190, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "41329:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8193, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41343:2:16", + "nodeType": "VariableDeclaration", + "scope": 8210, + "src": "41338:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8192, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41338:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8195, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41361:2:16", + "nodeType": "VariableDeclaration", + "scope": 8210, + "src": "41347:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8194, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "41347:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "41319:45:16" + }, + "returnParameters": { + "id": 8197, + "nodeType": "ParameterList", + "parameters": [], + "src": "41379:0:16" + }, + "scope": 10925, + "src": "41307:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8232, + "nodeType": "Block", + "src": "41539:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c626f6f6c29", + "id": 8224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41583:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9e01f7417c5ff66a2399364b03788fbf8437045d38acf377fab727a3440df7be", + "typeString": "literal_string \"log(bool,uint,bool,bool)\"" + }, + "value": "log(bool,uint,bool,bool)" + }, + { + "id": 8225, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8212, + "src": "41611:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8226, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8214, + "src": "41615:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8227, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8216, + "src": "41619:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8228, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8218, + "src": "41623:2:16", + "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": 8222, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41559:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8223, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41559:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8229, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41559:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8221, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "41543:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41543:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8231, + "nodeType": "ExpressionStatement", + "src": "41543:84:16" + } + ] + }, + "id": 8233, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41485:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8219, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8212, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41494:2:16", + "nodeType": "VariableDeclaration", + "scope": 8233, + "src": "41489:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8211, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41489:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8214, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41503:2:16", + "nodeType": "VariableDeclaration", + "scope": 8233, + "src": "41498:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8213, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "41498:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8216, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41512:2:16", + "nodeType": "VariableDeclaration", + "scope": 8233, + "src": "41507:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8215, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41507:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8218, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41521:2:16", + "nodeType": "VariableDeclaration", + "scope": 8233, + "src": "41516:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8217, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41516:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "41488:36:16" + }, + "returnParameters": { + "id": 8220, + "nodeType": "ParameterList", + "parameters": [], + "src": "41539:0:16" + }, + "scope": 10925, + "src": "41476:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8255, + "nodeType": "Block", + "src": "41700:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c626f6f6c2c6164647265737329", + "id": 8247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41744:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4267c7f8f9987b1bc934e31e016f4d182f67ab95e55c5567fbc71b4f01a83f4b", + "typeString": "literal_string \"log(bool,uint,bool,address)\"" + }, + "value": "log(bool,uint,bool,address)" + }, + { + "id": 8248, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8235, + "src": "41775:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8249, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8237, + "src": "41779:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8250, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8239, + "src": "41783:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8251, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8241, + "src": "41787:2:16", + "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": 8245, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41720:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8246, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41720:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8252, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41720:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8244, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "41704:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41704:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8254, + "nodeType": "ExpressionStatement", + "src": "41704:87:16" + } + ] + }, + "id": 8256, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41643:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8235, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41652:2:16", + "nodeType": "VariableDeclaration", + "scope": 8256, + "src": "41647:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8234, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41647:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8237, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41661:2:16", + "nodeType": "VariableDeclaration", + "scope": 8256, + "src": "41656:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8236, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "41656:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8239, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41670:2:16", + "nodeType": "VariableDeclaration", + "scope": 8256, + "src": "41665:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8238, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41665:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8241, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41682:2:16", + "nodeType": "VariableDeclaration", + "scope": 8256, + "src": "41674:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8240, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41674:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "41646:39:16" + }, + "returnParameters": { + "id": 8243, + "nodeType": "ParameterList", + "parameters": [], + "src": "41700:0:16" + }, + "scope": 10925, + "src": "41634:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8278, + "nodeType": "Block", + "src": "41864:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c75696e7429", + "id": 8270, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "41908:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_caa5236acb25f4f5a01ec5f570d99d895d397c7e9fd20ed31c9c33fa8a17f26d", + "typeString": "literal_string \"log(bool,uint,address,uint)\"" + }, + "value": "log(bool,uint,address,uint)" + }, + { + "id": 8271, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8258, + "src": "41939:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8272, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8260, + "src": "41943:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8273, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8262, + "src": "41947:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8274, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8264, + "src": "41951:2:16", + "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": 8268, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "41884:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8269, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "41884:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8275, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41884:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8267, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "41868:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "41868:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8277, + "nodeType": "ExpressionStatement", + "src": "41868:87:16" + } + ] + }, + "id": 8279, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41807:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8265, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8258, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41816:2:16", + "nodeType": "VariableDeclaration", + "scope": 8279, + "src": "41811:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8257, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41811:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8260, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41825:2:16", + "nodeType": "VariableDeclaration", + "scope": 8279, + "src": "41820:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8259, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "41820:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8262, + "mutability": "mutable", + "name": "p2", + "nameLocation": "41837:2:16", + "nodeType": "VariableDeclaration", + "scope": 8279, + "src": "41829:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8261, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41829:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8264, + "mutability": "mutable", + "name": "p3", + "nameLocation": "41846:2:16", + "nodeType": "VariableDeclaration", + "scope": 8279, + "src": "41841:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8263, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "41841:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "41810:39:16" + }, + "returnParameters": { + "id": 8266, + "nodeType": "ParameterList", + "parameters": [], + "src": "41864:0:16" + }, + "scope": 10925, + "src": "41798:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8301, + "nodeType": "Block", + "src": "42037:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c737472696e6729", + "id": 8293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42081:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_180913415ccbde45e0d2184e3dd2387bed86df0066bd73fcb896bc02a6226689", + "typeString": "literal_string \"log(bool,uint,address,string)\"" + }, + "value": "log(bool,uint,address,string)" + }, + { + "id": 8294, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8281, + "src": "42114:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8295, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8283, + "src": "42118:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8296, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8285, + "src": "42122:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8297, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8287, + "src": "42126:2:16", + "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": 8291, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42057:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8292, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42057:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42057:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8290, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "42041:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42041:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8300, + "nodeType": "ExpressionStatement", + "src": "42041:89:16" + } + ] + }, + "id": 8302, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "41971:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8288, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8281, + "mutability": "mutable", + "name": "p0", + "nameLocation": "41980:2:16", + "nodeType": "VariableDeclaration", + "scope": 8302, + "src": "41975:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8280, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "41975:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8283, + "mutability": "mutable", + "name": "p1", + "nameLocation": "41989:2:16", + "nodeType": "VariableDeclaration", + "scope": 8302, + "src": "41984:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8282, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "41984:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8285, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42001:2:16", + "nodeType": "VariableDeclaration", + "scope": 8302, + "src": "41993:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8284, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "41993:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8287, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42019:2:16", + "nodeType": "VariableDeclaration", + "scope": 8302, + "src": "42005:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8286, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42005:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "41974:48:16" + }, + "returnParameters": { + "id": 8289, + "nodeType": "ParameterList", + "parameters": [], + "src": "42037:0:16" + }, + "scope": 10925, + "src": "41962:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8324, + "nodeType": "Block", + "src": "42203:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c626f6f6c29", + "id": 8316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42247:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_65adf4082cd731bd1252f957eddeecdbdcf11e48975b5ac20d902fcb218153fa", + "typeString": "literal_string \"log(bool,uint,address,bool)\"" + }, + "value": "log(bool,uint,address,bool)" + }, + { + "id": 8317, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8304, + "src": "42278:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8318, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8306, + "src": "42282:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8319, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8308, + "src": "42286:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8320, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8310, + "src": "42290:2:16", + "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": 8314, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42223:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8315, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42223:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8321, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42223:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8313, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "42207:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42207:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8323, + "nodeType": "ExpressionStatement", + "src": "42207:87:16" + } + ] + }, + "id": 8325, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42146:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8311, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8304, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42155:2:16", + "nodeType": "VariableDeclaration", + "scope": 8325, + "src": "42150:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8303, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "42150:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8306, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42164:2:16", + "nodeType": "VariableDeclaration", + "scope": 8325, + "src": "42159:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8305, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "42159:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8308, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42176:2:16", + "nodeType": "VariableDeclaration", + "scope": 8325, + "src": "42168:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8307, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42168:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8310, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42185:2:16", + "nodeType": "VariableDeclaration", + "scope": 8325, + "src": "42180:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8309, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "42180:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "42149:39:16" + }, + "returnParameters": { + "id": 8312, + "nodeType": "ParameterList", + "parameters": [], + "src": "42203:0:16" + }, + "scope": 10925, + "src": "42137:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8347, + "nodeType": "Block", + "src": "42370:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c75696e742c616464726573732c6164647265737329", + "id": 8339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42414:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8a2f90aa07fc9781ea213028ce9aef0a44d6a31a77e2f4d54d97a0d808348d5d", + "typeString": "literal_string \"log(bool,uint,address,address)\"" + }, + "value": "log(bool,uint,address,address)" + }, + { + "id": 8340, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8327, + "src": "42448:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8341, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8329, + "src": "42452:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8342, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8331, + "src": "42456:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8343, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8333, + "src": "42460:2:16", + "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": 8337, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42390:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8338, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42390:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42390:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8336, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "42374:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42374:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8346, + "nodeType": "ExpressionStatement", + "src": "42374:90:16" + } + ] + }, + "id": 8348, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42310:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8334, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8327, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42319:2:16", + "nodeType": "VariableDeclaration", + "scope": 8348, + "src": "42314:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8326, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "42314:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8329, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42328:2:16", + "nodeType": "VariableDeclaration", + "scope": 8348, + "src": "42323:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8328, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "42323:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8331, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42340:2:16", + "nodeType": "VariableDeclaration", + "scope": 8348, + "src": "42332:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8330, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42332:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8333, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42352:2:16", + "nodeType": "VariableDeclaration", + "scope": 8348, + "src": "42344:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8332, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "42344:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "42313:42:16" + }, + "returnParameters": { + "id": 8335, + "nodeType": "ParameterList", + "parameters": [], + "src": "42370:0:16" + }, + "scope": 10925, + "src": "42301:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8370, + "nodeType": "Block", + "src": "42543:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c75696e7429", + "id": 8362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42587:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e4ae86e71c7c77322d634e39fba7bc2a7e4fbe918bce10fe47326050a13b7c9", + "typeString": "literal_string \"log(bool,string,uint,uint)\"" + }, + "value": "log(bool,string,uint,uint)" + }, + { + "id": 8363, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8350, + "src": "42617:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8364, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8352, + "src": "42621:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8365, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8354, + "src": "42625:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8366, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8356, + "src": "42629:2:16", + "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": 8360, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42563:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8361, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42563:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8367, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42563:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8359, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "42547:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42547:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8369, + "nodeType": "ExpressionStatement", + "src": "42547:86:16" + } + ] + }, + "id": 8371, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42480:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8357, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8350, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42489:2:16", + "nodeType": "VariableDeclaration", + "scope": 8371, + "src": "42484:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8349, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "42484:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8352, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42507:2:16", + "nodeType": "VariableDeclaration", + "scope": 8371, + "src": "42493:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8351, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42493:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8354, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42516:2:16", + "nodeType": "VariableDeclaration", + "scope": 8371, + "src": "42511:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8353, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "42511:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8356, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42525:2:16", + "nodeType": "VariableDeclaration", + "scope": 8371, + "src": "42520:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8355, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "42520:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "42483:45:16" + }, + "returnParameters": { + "id": 8358, + "nodeType": "ParameterList", + "parameters": [], + "src": "42543:0:16" + }, + "scope": 10925, + "src": "42471:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8393, + "nodeType": "Block", + "src": "42721:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c737472696e6729", + "id": 8385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42765:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_77a1abed9f9fbc44023408083dd5c1cf42b0b566799470c6ab535b12d0f8f649", + "typeString": "literal_string \"log(bool,string,uint,string)\"" + }, + "value": "log(bool,string,uint,string)" + }, + { + "id": 8386, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8373, + "src": "42797:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8387, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8375, + "src": "42801:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8388, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8377, + "src": "42805:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8389, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8379, + "src": "42809:2:16", + "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": 8383, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42741:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8384, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42741:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8390, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42741:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8382, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "42725:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42725:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8392, + "nodeType": "ExpressionStatement", + "src": "42725:88:16" + } + ] + }, + "id": 8394, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42649:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8380, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8373, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42658:2:16", + "nodeType": "VariableDeclaration", + "scope": 8394, + "src": "42653:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8372, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "42653:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8375, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42676:2:16", + "nodeType": "VariableDeclaration", + "scope": 8394, + "src": "42662:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8374, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42662:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8377, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42685:2:16", + "nodeType": "VariableDeclaration", + "scope": 8394, + "src": "42680:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8376, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "42680:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8379, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42703:2:16", + "nodeType": "VariableDeclaration", + "scope": 8394, + "src": "42689:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8378, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42689:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "42652:54:16" + }, + "returnParameters": { + "id": 8381, + "nodeType": "ParameterList", + "parameters": [], + "src": "42721:0:16" + }, + "scope": 10925, + "src": "42640:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8416, + "nodeType": "Block", + "src": "42892:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c626f6f6c29", + "id": 8408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "42936:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_20bbc9af7c6bae926ffd73678c9130310d497610a5c76e6e2ae48edff96f38a8", + "typeString": "literal_string \"log(bool,string,uint,bool)\"" + }, + "value": "log(bool,string,uint,bool)" + }, + { + "id": 8409, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8396, + "src": "42966:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8410, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8398, + "src": "42970:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8411, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8400, + "src": "42974:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8412, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8402, + "src": "42978:2:16", + "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": 8406, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "42912:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8407, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "42912:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8413, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42912:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8405, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "42896:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "42896:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8415, + "nodeType": "ExpressionStatement", + "src": "42896:86:16" + } + ] + }, + "id": 8417, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42829:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8403, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8396, + "mutability": "mutable", + "name": "p0", + "nameLocation": "42838:2:16", + "nodeType": "VariableDeclaration", + "scope": 8417, + "src": "42833:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8395, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "42833:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8398, + "mutability": "mutable", + "name": "p1", + "nameLocation": "42856:2:16", + "nodeType": "VariableDeclaration", + "scope": 8417, + "src": "42842:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8397, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "42842:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8400, + "mutability": "mutable", + "name": "p2", + "nameLocation": "42865:2:16", + "nodeType": "VariableDeclaration", + "scope": 8417, + "src": "42860:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8399, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "42860:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8402, + "mutability": "mutable", + "name": "p3", + "nameLocation": "42874:2:16", + "nodeType": "VariableDeclaration", + "scope": 8417, + "src": "42869:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8401, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "42869:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "42832:45:16" + }, + "returnParameters": { + "id": 8404, + "nodeType": "ParameterList", + "parameters": [], + "src": "42892:0:16" + }, + "scope": 10925, + "src": "42820:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8439, + "nodeType": "Block", + "src": "43064:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c75696e742c6164647265737329", + "id": 8431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43108:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5b22b938264abfc98de8ea025ac5bd87df03cbffd23b96cdfe194e0ef6fb136a", + "typeString": "literal_string \"log(bool,string,uint,address)\"" + }, + "value": "log(bool,string,uint,address)" + }, + { + "id": 8432, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8419, + "src": "43141:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8433, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8421, + "src": "43145:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8434, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8423, + "src": "43149:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8435, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8425, + "src": "43153:2:16", + "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": 8429, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43084:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8430, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43084:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8436, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43084:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8428, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "43068:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43068:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8438, + "nodeType": "ExpressionStatement", + "src": "43068:89:16" + } + ] + }, + "id": 8440, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "42998:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8426, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8419, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43007:2:16", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "43002:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8418, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43002:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8421, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43025:2:16", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "43011:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8420, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43011:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8423, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43034:2:16", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "43029:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8422, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43029:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8425, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43046:2:16", + "nodeType": "VariableDeclaration", + "scope": 8440, + "src": "43038:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8424, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "43038:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "43001:48:16" + }, + "returnParameters": { + "id": 8427, + "nodeType": "ParameterList", + "parameters": [], + "src": "43064:0:16" + }, + "scope": 10925, + "src": "42989:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8462, + "nodeType": "Block", + "src": "43245:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c75696e7429", + "id": 8454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43289:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5ddb259214a75c0fc75757e8e19b1cf1c4ec17a5eef635b4715f04b86884d5df", + "typeString": "literal_string \"log(bool,string,string,uint)\"" + }, + "value": "log(bool,string,string,uint)" + }, + { + "id": 8455, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8442, + "src": "43321:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8456, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8444, + "src": "43325:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8457, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8446, + "src": "43329:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8458, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8448, + "src": "43333:2:16", + "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": 8452, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43265:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43265:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8459, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43265:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8451, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "43249:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43249:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8461, + "nodeType": "ExpressionStatement", + "src": "43249:88:16" + } + ] + }, + "id": 8463, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43173:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8449, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8442, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43182:2:16", + "nodeType": "VariableDeclaration", + "scope": 8463, + "src": "43177:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8441, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43177:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8444, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43200:2:16", + "nodeType": "VariableDeclaration", + "scope": 8463, + "src": "43186:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8443, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43186:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8446, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43218:2:16", + "nodeType": "VariableDeclaration", + "scope": 8463, + "src": "43204:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8445, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43204:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8448, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43227:2:16", + "nodeType": "VariableDeclaration", + "scope": 8463, + "src": "43222:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8447, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43222:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "43176:54:16" + }, + "returnParameters": { + "id": 8450, + "nodeType": "ParameterList", + "parameters": [], + "src": "43245:0:16" + }, + "scope": 10925, + "src": "43164:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8485, + "nodeType": "Block", + "src": "43434:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c737472696e6729", + "id": 8477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43478:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1762e32af9fa924f818d8f4a6c92011d30129df73749081e0b95feea819a17c9", + "typeString": "literal_string \"log(bool,string,string,string)\"" + }, + "value": "log(bool,string,string,string)" + }, + { + "id": 8478, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8465, + "src": "43512:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8479, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8467, + "src": "43516:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8480, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8469, + "src": "43520:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8481, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8471, + "src": "43524:2:16", + "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": 8475, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43454:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8476, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43454:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43454:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8474, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "43438:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43438:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8484, + "nodeType": "ExpressionStatement", + "src": "43438:90:16" + } + ] + }, + "id": 8486, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43353:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8472, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8465, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43362:2:16", + "nodeType": "VariableDeclaration", + "scope": 8486, + "src": "43357:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8464, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43357:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8467, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43380:2:16", + "nodeType": "VariableDeclaration", + "scope": 8486, + "src": "43366:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8466, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43366:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8469, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43398:2:16", + "nodeType": "VariableDeclaration", + "scope": 8486, + "src": "43384:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8468, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43384:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8471, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43416:2:16", + "nodeType": "VariableDeclaration", + "scope": 8486, + "src": "43402:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8470, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43402:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "43356:63:16" + }, + "returnParameters": { + "id": 8473, + "nodeType": "ParameterList", + "parameters": [], + "src": "43434:0:16" + }, + "scope": 10925, + "src": "43344:188:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8508, + "nodeType": "Block", + "src": "43616:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c626f6f6c29", + "id": 8500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43660:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1e4b87e52d13efc5b368defba0463e423637ec55125c6230945d005f817198d1", + "typeString": "literal_string \"log(bool,string,string,bool)\"" + }, + "value": "log(bool,string,string,bool)" + }, + { + "id": 8501, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8488, + "src": "43692:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8502, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8490, + "src": "43696:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8503, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8492, + "src": "43700:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8504, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8494, + "src": "43704:2:16", + "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": 8498, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43636:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8499, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43636:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8505, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43636:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8497, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "43620:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43620:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8507, + "nodeType": "ExpressionStatement", + "src": "43620:88:16" + } + ] + }, + "id": 8509, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43544:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8495, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8488, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43553:2:16", + "nodeType": "VariableDeclaration", + "scope": 8509, + "src": "43548:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8487, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43548:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8490, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43571:2:16", + "nodeType": "VariableDeclaration", + "scope": 8509, + "src": "43557:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8489, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43557:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8492, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43589:2:16", + "nodeType": "VariableDeclaration", + "scope": 8509, + "src": "43575:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8491, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43575:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8494, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43598:2:16", + "nodeType": "VariableDeclaration", + "scope": 8509, + "src": "43593:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8493, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43593:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "43547:54:16" + }, + "returnParameters": { + "id": 8496, + "nodeType": "ParameterList", + "parameters": [], + "src": "43616:0:16" + }, + "scope": 10925, + "src": "43535:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8531, + "nodeType": "Block", + "src": "43799:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c737472696e672c6164647265737329", + "id": 8523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "43843:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_97d394d89551bd441d1340d1c3dcc3b6160871bf042c6884bcb4049b2fa2bdb5", + "typeString": "literal_string \"log(bool,string,string,address)\"" + }, + "value": "log(bool,string,string,address)" + }, + { + "id": 8524, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8511, + "src": "43878:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8525, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8513, + "src": "43882:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8526, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8515, + "src": "43886:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8527, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8517, + "src": "43890:2:16", + "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": 8521, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43819:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8522, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43819:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8528, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43819:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8520, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "43803:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43803:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8530, + "nodeType": "ExpressionStatement", + "src": "43803:91:16" + } + ] + }, + "id": 8532, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43724:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8518, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8511, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43733:2:16", + "nodeType": "VariableDeclaration", + "scope": 8532, + "src": "43728:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8510, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43728:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8513, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43751:2:16", + "nodeType": "VariableDeclaration", + "scope": 8532, + "src": "43737:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8512, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43737:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8515, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43769:2:16", + "nodeType": "VariableDeclaration", + "scope": 8532, + "src": "43755:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8514, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43755:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8517, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43781:2:16", + "nodeType": "VariableDeclaration", + "scope": 8532, + "src": "43773:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8516, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "43773:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "43727:57:16" + }, + "returnParameters": { + "id": 8519, + "nodeType": "ParameterList", + "parameters": [], + "src": "43799:0:16" + }, + "scope": 10925, + "src": "43715:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8554, + "nodeType": "Block", + "src": "43973:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c75696e7429", + "id": 8546, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44017:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8d6f9ca539d16169f184b68d5f2cbc34ada538d6737083559aa5a96068582055", + "typeString": "literal_string \"log(bool,string,bool,uint)\"" + }, + "value": "log(bool,string,bool,uint)" + }, + { + "id": 8547, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8534, + "src": "44047:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8548, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8536, + "src": "44051:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8549, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8538, + "src": "44055:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8550, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8540, + "src": "44059:2:16", + "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": 8544, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "43993:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8545, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "43993:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8551, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43993:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8543, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "43977:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "43977:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8553, + "nodeType": "ExpressionStatement", + "src": "43977:86:16" + } + ] + }, + "id": 8555, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "43910:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8534, + "mutability": "mutable", + "name": "p0", + "nameLocation": "43919:2:16", + "nodeType": "VariableDeclaration", + "scope": 8555, + "src": "43914:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8533, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43914:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8536, + "mutability": "mutable", + "name": "p1", + "nameLocation": "43937:2:16", + "nodeType": "VariableDeclaration", + "scope": 8555, + "src": "43923:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8535, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "43923:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8538, + "mutability": "mutable", + "name": "p2", + "nameLocation": "43946:2:16", + "nodeType": "VariableDeclaration", + "scope": 8555, + "src": "43941:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8537, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "43941:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8540, + "mutability": "mutable", + "name": "p3", + "nameLocation": "43955:2:16", + "nodeType": "VariableDeclaration", + "scope": 8555, + "src": "43950:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8539, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "43950:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "43913:45:16" + }, + "returnParameters": { + "id": 8542, + "nodeType": "ParameterList", + "parameters": [], + "src": "43973:0:16" + }, + "scope": 10925, + "src": "43901:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8577, + "nodeType": "Block", + "src": "44151:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c737472696e6729", + "id": 8569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44195:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_483d0416329d0c81c68975a0cac822497c590c00f8ae8be66af490d0f9215468", + "typeString": "literal_string \"log(bool,string,bool,string)\"" + }, + "value": "log(bool,string,bool,string)" + }, + { + "id": 8570, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8557, + "src": "44227:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8571, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8559, + "src": "44231:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8572, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8561, + "src": "44235:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8573, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8563, + "src": "44239:2:16", + "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": 8567, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44171:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8568, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44171:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "44171:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8566, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "44155:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "44155:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8576, + "nodeType": "ExpressionStatement", + "src": "44155:88:16" + } + ] + }, + "id": 8578, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44079:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8564, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8557, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44088:2:16", + "nodeType": "VariableDeclaration", + "scope": 8578, + "src": "44083:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8556, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44083:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8559, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44106:2:16", + "nodeType": "VariableDeclaration", + "scope": 8578, + "src": "44092:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8558, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44092:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8561, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44115:2:16", + "nodeType": "VariableDeclaration", + "scope": 8578, + "src": "44110:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8560, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44110:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8563, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44133:2:16", + "nodeType": "VariableDeclaration", + "scope": 8578, + "src": "44119:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8562, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44119:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "44082:54:16" + }, + "returnParameters": { + "id": 8565, + "nodeType": "ParameterList", + "parameters": [], + "src": "44151:0:16" + }, + "scope": 10925, + "src": "44070:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8600, + "nodeType": "Block", + "src": "44322:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c626f6f6c29", + "id": 8592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44366:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dc5e935b9ccf45ff13b5900aeaf3a593df3e9479fc07e9c213f5fcaa0951e91f", + "typeString": "literal_string \"log(bool,string,bool,bool)\"" + }, + "value": "log(bool,string,bool,bool)" + }, + { + "id": 8593, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8580, + "src": "44396:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8594, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8582, + "src": "44400:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8595, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8584, + "src": "44404:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8596, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8586, + "src": "44408:2:16", + "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": 8590, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44342:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8591, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44342:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8597, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "44342:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8589, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "44326:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "44326:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8599, + "nodeType": "ExpressionStatement", + "src": "44326:86:16" + } + ] + }, + "id": 8601, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44259:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8580, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44268:2:16", + "nodeType": "VariableDeclaration", + "scope": 8601, + "src": "44263:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8579, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44263:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8582, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44286:2:16", + "nodeType": "VariableDeclaration", + "scope": 8601, + "src": "44272:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8581, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44272:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8584, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44295:2:16", + "nodeType": "VariableDeclaration", + "scope": 8601, + "src": "44290:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8583, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44290:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8586, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44304:2:16", + "nodeType": "VariableDeclaration", + "scope": 8601, + "src": "44299:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8585, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44299:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "44262:45:16" + }, + "returnParameters": { + "id": 8588, + "nodeType": "ParameterList", + "parameters": [], + "src": "44322:0:16" + }, + "scope": 10925, + "src": "44250:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8623, + "nodeType": "Block", + "src": "44494:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c626f6f6c2c6164647265737329", + "id": 8615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44538:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_538e06ab06366b189ea53da7c11628ee5730bc373b0bc64719bea1a2afab03c5", + "typeString": "literal_string \"log(bool,string,bool,address)\"" + }, + "value": "log(bool,string,bool,address)" + }, + { + "id": 8616, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8603, + "src": "44571:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8617, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8605, + "src": "44575:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8618, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8607, + "src": "44579:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8619, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8609, + "src": "44583:2:16", + "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": 8613, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44514:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8614, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44514:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8620, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "44514:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8612, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "44498:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "44498:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8622, + "nodeType": "ExpressionStatement", + "src": "44498:89:16" + } + ] + }, + "id": 8624, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44428:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8610, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8603, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44437:2:16", + "nodeType": "VariableDeclaration", + "scope": 8624, + "src": "44432:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8602, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44432:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8605, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44455:2:16", + "nodeType": "VariableDeclaration", + "scope": 8624, + "src": "44441:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8604, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44441:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8607, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44464:2:16", + "nodeType": "VariableDeclaration", + "scope": 8624, + "src": "44459:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8606, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44459:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8609, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44476:2:16", + "nodeType": "VariableDeclaration", + "scope": 8624, + "src": "44468:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8608, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44468:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "44431:48:16" + }, + "returnParameters": { + "id": 8611, + "nodeType": "ParameterList", + "parameters": [], + "src": "44494:0:16" + }, + "scope": 10925, + "src": "44419:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8646, + "nodeType": "Block", + "src": "44669:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c75696e7429", + "id": 8638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44713:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1b0b955b558cd224468bb20ba92b23519cb59fe363a105b00d7a815c1673c4ca", + "typeString": "literal_string \"log(bool,string,address,uint)\"" + }, + "value": "log(bool,string,address,uint)" + }, + { + "id": 8639, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8626, + "src": "44746:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8640, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8628, + "src": "44750:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8641, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8630, + "src": "44754:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8642, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8632, + "src": "44758:2:16", + "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": 8636, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44689:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8637, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44689:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8643, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "44689:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8635, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "44673:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8644, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "44673:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8645, + "nodeType": "ExpressionStatement", + "src": "44673:89:16" + } + ] + }, + "id": 8647, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44603:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8633, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8626, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44612:2:16", + "nodeType": "VariableDeclaration", + "scope": 8647, + "src": "44607:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8625, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44607:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8628, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44630:2:16", + "nodeType": "VariableDeclaration", + "scope": 8647, + "src": "44616:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8627, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44616:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8630, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44642:2:16", + "nodeType": "VariableDeclaration", + "scope": 8647, + "src": "44634:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8629, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44634:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8632, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44651:2:16", + "nodeType": "VariableDeclaration", + "scope": 8647, + "src": "44646:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8631, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "44646:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "44606:48:16" + }, + "returnParameters": { + "id": 8634, + "nodeType": "ParameterList", + "parameters": [], + "src": "44669:0:16" + }, + "scope": 10925, + "src": "44594:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8669, + "nodeType": "Block", + "src": "44853:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c737472696e6729", + "id": 8661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "44897:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_12d6c788fea4d6144f2607e1e8821bec55a5c2dfdc4cece41a536f7b7831e7a7", + "typeString": "literal_string \"log(bool,string,address,string)\"" + }, + "value": "log(bool,string,address,string)" + }, + { + "id": 8662, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8649, + "src": "44932:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8663, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8651, + "src": "44936:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8664, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8653, + "src": "44940:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8665, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8655, + "src": "44944:2:16", + "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": 8659, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "44873:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8660, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "44873:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8666, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "44873:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8658, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "44857:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "44857:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8668, + "nodeType": "ExpressionStatement", + "src": "44857:91:16" + } + ] + }, + "id": 8670, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44778:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8649, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44787:2:16", + "nodeType": "VariableDeclaration", + "scope": 8670, + "src": "44782:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8648, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44782:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8651, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44805:2:16", + "nodeType": "VariableDeclaration", + "scope": 8670, + "src": "44791:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8650, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44791:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8653, + "mutability": "mutable", + "name": "p2", + "nameLocation": "44817:2:16", + "nodeType": "VariableDeclaration", + "scope": 8670, + "src": "44809:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8652, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44809:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8655, + "mutability": "mutable", + "name": "p3", + "nameLocation": "44835:2:16", + "nodeType": "VariableDeclaration", + "scope": 8670, + "src": "44821:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8654, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44821:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "44781:57:16" + }, + "returnParameters": { + "id": 8657, + "nodeType": "ParameterList", + "parameters": [], + "src": "44853:0:16" + }, + "scope": 10925, + "src": "44769:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8692, + "nodeType": "Block", + "src": "45030:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c626f6f6c29", + "id": 8684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45074:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6dd434ca1fa26d491bcd72b7fe69eb72d41cae8eadbda5a7f985734e1b80c67d", + "typeString": "literal_string \"log(bool,string,address,bool)\"" + }, + "value": "log(bool,string,address,bool)" + }, + { + "id": 8685, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8672, + "src": "45107:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8686, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8674, + "src": "45111:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8687, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8676, + "src": "45115:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8688, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8678, + "src": "45119:2:16", + "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": 8682, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45050:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8683, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45050:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8689, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45050:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8681, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "45034:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45034:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8691, + "nodeType": "ExpressionStatement", + "src": "45034:89:16" + } + ] + }, + "id": 8693, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "44964:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8672, + "mutability": "mutable", + "name": "p0", + "nameLocation": "44973:2:16", + "nodeType": "VariableDeclaration", + "scope": 8693, + "src": "44968:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8671, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "44968:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8674, + "mutability": "mutable", + "name": "p1", + "nameLocation": "44991:2:16", + "nodeType": "VariableDeclaration", + "scope": 8693, + "src": "44977:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8673, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "44977:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8676, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45003:2:16", + "nodeType": "VariableDeclaration", + "scope": 8693, + "src": "44995:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8675, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "44995:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8678, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45012:2:16", + "nodeType": "VariableDeclaration", + "scope": 8693, + "src": "45007:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8677, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45007:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "44967:48:16" + }, + "returnParameters": { + "id": 8680, + "nodeType": "ParameterList", + "parameters": [], + "src": "45030:0:16" + }, + "scope": 10925, + "src": "44955:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8715, + "nodeType": "Block", + "src": "45208:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c737472696e672c616464726573732c6164647265737329", + "id": 8707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45252:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2b2b18dc50ecc75180f201de41eca533fbda0c7bf525c06b5b8e87bc1d010822", + "typeString": "literal_string \"log(bool,string,address,address)\"" + }, + "value": "log(bool,string,address,address)" + }, + { + "id": 8708, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8695, + "src": "45288:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8709, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8697, + "src": "45292:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8710, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8699, + "src": "45296:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 8711, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8701, + "src": "45300:2:16", + "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": 8705, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45228:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8706, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45228:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8712, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45228:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8704, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "45212:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45212:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8714, + "nodeType": "ExpressionStatement", + "src": "45212:92:16" + } + ] + }, + "id": 8716, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45139:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8695, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45148:2:16", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "45143:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8694, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45143:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8697, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45166:2:16", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "45152:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8696, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "45152:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8699, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45178:2:16", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "45170:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8698, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "45170:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8701, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45190:2:16", + "nodeType": "VariableDeclaration", + "scope": 8716, + "src": "45182:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8700, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "45182:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "45142:51:16" + }, + "returnParameters": { + "id": 8703, + "nodeType": "ParameterList", + "parameters": [], + "src": "45208:0:16" + }, + "scope": 10925, + "src": "45130:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8738, + "nodeType": "Block", + "src": "45374:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c75696e7429", + "id": 8730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45418:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4667de8ece32e91ade336fb6d8a14a500512d40e1162a34636a5bca908b16e6a", + "typeString": "literal_string \"log(bool,bool,uint,uint)\"" + }, + "value": "log(bool,bool,uint,uint)" + }, + { + "id": 8731, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8718, + "src": "45446:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8732, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8720, + "src": "45450:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8733, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8722, + "src": "45454:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8734, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8724, + "src": "45458:2:16", + "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": 8728, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45394:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8729, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45394:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8735, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45394:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8727, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "45378:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45378:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8737, + "nodeType": "ExpressionStatement", + "src": "45378:84:16" + } + ] + }, + "id": 8739, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45320:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8725, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8718, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45329:2:16", + "nodeType": "VariableDeclaration", + "scope": 8739, + "src": "45324:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8717, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45324:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8720, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45338:2:16", + "nodeType": "VariableDeclaration", + "scope": 8739, + "src": "45333:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8719, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45333:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8722, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45347:2:16", + "nodeType": "VariableDeclaration", + "scope": 8739, + "src": "45342:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8721, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45342:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8724, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45356:2:16", + "nodeType": "VariableDeclaration", + "scope": 8739, + "src": "45351:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8723, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45351:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "45323:36:16" + }, + "returnParameters": { + "id": 8726, + "nodeType": "ParameterList", + "parameters": [], + "src": "45374:0:16" + }, + "scope": 10925, + "src": "45311:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8761, + "nodeType": "Block", + "src": "45541:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c737472696e6729", + "id": 8753, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45585:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50618937639b3b1cb3bbe247efb1fae4eb9a85d1e66ac66dfc77c62561966adc", + "typeString": "literal_string \"log(bool,bool,uint,string)\"" + }, + "value": "log(bool,bool,uint,string)" + }, + { + "id": 8754, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8741, + "src": "45615:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8755, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8743, + "src": "45619:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8756, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8745, + "src": "45623:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8757, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8747, + "src": "45627:2:16", + "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": 8751, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45561:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8752, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45561:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8758, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45561:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8750, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "45545:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45545:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8760, + "nodeType": "ExpressionStatement", + "src": "45545:86:16" + } + ] + }, + "id": 8762, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45478:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8748, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8741, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45487:2:16", + "nodeType": "VariableDeclaration", + "scope": 8762, + "src": "45482:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8740, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45482:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8743, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45496:2:16", + "nodeType": "VariableDeclaration", + "scope": 8762, + "src": "45491:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8742, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45491:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8745, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45505:2:16", + "nodeType": "VariableDeclaration", + "scope": 8762, + "src": "45500:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8744, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45500:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8747, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45523:2:16", + "nodeType": "VariableDeclaration", + "scope": 8762, + "src": "45509:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8746, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "45509:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "45481:45:16" + }, + "returnParameters": { + "id": 8749, + "nodeType": "ParameterList", + "parameters": [], + "src": "45541:0:16" + }, + "scope": 10925, + "src": "45469:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8784, + "nodeType": "Block", + "src": "45701:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c626f6f6c29", + "id": 8776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45745:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ab5cc1c47d926d79461c86216768f32b6ec0ac12d51c1eb543ea3bd1cfec0110", + "typeString": "literal_string \"log(bool,bool,uint,bool)\"" + }, + "value": "log(bool,bool,uint,bool)" + }, + { + "id": 8777, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8764, + "src": "45773:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8778, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8766, + "src": "45777:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8779, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8768, + "src": "45781:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8780, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8770, + "src": "45785:2:16", + "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": 8774, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45721:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8775, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45721:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8781, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45721:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8773, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "45705:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45705:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8783, + "nodeType": "ExpressionStatement", + "src": "45705:84:16" + } + ] + }, + "id": 8785, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45647:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8771, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8764, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45656:2:16", + "nodeType": "VariableDeclaration", + "scope": 8785, + "src": "45651:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8763, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45651:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8766, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45665:2:16", + "nodeType": "VariableDeclaration", + "scope": 8785, + "src": "45660:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8765, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45660:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8768, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45674:2:16", + "nodeType": "VariableDeclaration", + "scope": 8785, + "src": "45669:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8767, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45669:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8770, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45683:2:16", + "nodeType": "VariableDeclaration", + "scope": 8785, + "src": "45678:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8769, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45678:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "45650:36:16" + }, + "returnParameters": { + "id": 8772, + "nodeType": "ParameterList", + "parameters": [], + "src": "45701:0:16" + }, + "scope": 10925, + "src": "45638:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8807, + "nodeType": "Block", + "src": "45862:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c75696e742c6164647265737329", + "id": 8799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "45906:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0bff950dc175e3e278946e4adb75fffc4ee67cda33555121dd293b95b27a39a7", + "typeString": "literal_string \"log(bool,bool,uint,address)\"" + }, + "value": "log(bool,bool,uint,address)" + }, + { + "id": 8800, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8787, + "src": "45937:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8801, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8789, + "src": "45941:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8802, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8791, + "src": "45945:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 8803, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8793, + "src": "45949:2:16", + "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": 8797, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "45882:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8798, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "45882:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45882:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8796, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "45866:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "45866:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8806, + "nodeType": "ExpressionStatement", + "src": "45866:87:16" + } + ] + }, + "id": 8808, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45805:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8794, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8787, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45814:2:16", + "nodeType": "VariableDeclaration", + "scope": 8808, + "src": "45809:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8786, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45809:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8789, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45823:2:16", + "nodeType": "VariableDeclaration", + "scope": 8808, + "src": "45818:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8788, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45818:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8791, + "mutability": "mutable", + "name": "p2", + "nameLocation": "45832:2:16", + "nodeType": "VariableDeclaration", + "scope": 8808, + "src": "45827:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8790, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "45827:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8793, + "mutability": "mutable", + "name": "p3", + "nameLocation": "45844:2:16", + "nodeType": "VariableDeclaration", + "scope": 8808, + "src": "45836:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8792, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "45836:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "45808:39:16" + }, + "returnParameters": { + "id": 8795, + "nodeType": "ParameterList", + "parameters": [], + "src": "45862:0:16" + }, + "scope": 10925, + "src": "45796:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8830, + "nodeType": "Block", + "src": "46032:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c75696e7429", + "id": 8822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46076:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_178b4685db1dff62c4ee472c2e6bf50abba0dc230768235e43c6259152d1244e", + "typeString": "literal_string \"log(bool,bool,string,uint)\"" + }, + "value": "log(bool,bool,string,uint)" + }, + { + "id": 8823, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8810, + "src": "46106:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8824, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8812, + "src": "46110:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8825, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8814, + "src": "46114:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8826, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8816, + "src": "46118:2:16", + "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": 8820, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46052:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8821, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46052:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8827, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46052:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8819, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "46036:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46036:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8829, + "nodeType": "ExpressionStatement", + "src": "46036:86:16" + } + ] + }, + "id": 8831, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "45969:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8817, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8810, + "mutability": "mutable", + "name": "p0", + "nameLocation": "45978:2:16", + "nodeType": "VariableDeclaration", + "scope": 8831, + "src": "45973:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8809, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45973:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8812, + "mutability": "mutable", + "name": "p1", + "nameLocation": "45987:2:16", + "nodeType": "VariableDeclaration", + "scope": 8831, + "src": "45982:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8811, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "45982:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8814, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46005:2:16", + "nodeType": "VariableDeclaration", + "scope": 8831, + "src": "45991:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8813, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "45991:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8816, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46014:2:16", + "nodeType": "VariableDeclaration", + "scope": 8831, + "src": "46009:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8815, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "46009:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "45972:45:16" + }, + "returnParameters": { + "id": 8818, + "nodeType": "ParameterList", + "parameters": [], + "src": "46032:0:16" + }, + "scope": 10925, + "src": "45960:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8853, + "nodeType": "Block", + "src": "46210:96:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c737472696e6729", + "id": 8845, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46254:30:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6d1e87518c98344bc3efd52648f61de340bda51607aec409d641f3467caafaaf", + "typeString": "literal_string \"log(bool,bool,string,string)\"" + }, + "value": "log(bool,bool,string,string)" + }, + { + "id": 8846, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8833, + "src": "46286:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8847, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8835, + "src": "46290:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8848, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8837, + "src": "46294:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8849, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8839, + "src": "46298:2:16", + "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": 8843, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46230:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8844, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46230:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8850, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46230:71:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8842, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "46214:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46214:88:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8852, + "nodeType": "ExpressionStatement", + "src": "46214:88:16" + } + ] + }, + "id": 8854, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46138:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8840, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8833, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46147:2:16", + "nodeType": "VariableDeclaration", + "scope": 8854, + "src": "46142:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8832, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46142:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8835, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46156:2:16", + "nodeType": "VariableDeclaration", + "scope": 8854, + "src": "46151:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8834, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46151:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8837, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46174:2:16", + "nodeType": "VariableDeclaration", + "scope": 8854, + "src": "46160:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8836, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46160:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8839, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46192:2:16", + "nodeType": "VariableDeclaration", + "scope": 8854, + "src": "46178:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8838, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46178:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "46141:54:16" + }, + "returnParameters": { + "id": 8841, + "nodeType": "ParameterList", + "parameters": [], + "src": "46210:0:16" + }, + "scope": 10925, + "src": "46129:177:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8876, + "nodeType": "Block", + "src": "46381:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c626f6f6c29", + "id": 8868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46425:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b857163a2b7b8273ed53cefa410aa148f1833bdfc22da11e1e2fb89c6e625d02", + "typeString": "literal_string \"log(bool,bool,string,bool)\"" + }, + "value": "log(bool,bool,string,bool)" + }, + { + "id": 8869, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8856, + "src": "46455:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8870, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8858, + "src": "46459:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8871, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8860, + "src": "46463:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8872, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8862, + "src": "46467:2:16", + "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": 8866, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46401:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46401:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46401:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8865, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "46385:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46385:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8875, + "nodeType": "ExpressionStatement", + "src": "46385:86:16" + } + ] + }, + "id": 8877, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46318:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8863, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8856, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46327:2:16", + "nodeType": "VariableDeclaration", + "scope": 8877, + "src": "46322:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8855, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46322:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8858, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46336:2:16", + "nodeType": "VariableDeclaration", + "scope": 8877, + "src": "46331:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8857, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46331:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8860, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46354:2:16", + "nodeType": "VariableDeclaration", + "scope": 8877, + "src": "46340:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8859, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46340:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8862, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46363:2:16", + "nodeType": "VariableDeclaration", + "scope": 8877, + "src": "46358:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8861, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46358:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "46321:45:16" + }, + "returnParameters": { + "id": 8864, + "nodeType": "ParameterList", + "parameters": [], + "src": "46381:0:16" + }, + "scope": 10925, + "src": "46309:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8899, + "nodeType": "Block", + "src": "46553:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c737472696e672c6164647265737329", + "id": 8891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46597:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f9ad2b893873fa31c02b102aa30743b2e44c102daa588ea9d1eb1f2baf23d202", + "typeString": "literal_string \"log(bool,bool,string,address)\"" + }, + "value": "log(bool,bool,string,address)" + }, + { + "id": 8892, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8879, + "src": "46630:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8893, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8881, + "src": "46634:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8894, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8883, + "src": "46638:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 8895, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8885, + "src": "46642:2:16", + "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": 8889, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46573:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46573:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8896, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46573:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8888, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "46557:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46557:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8898, + "nodeType": "ExpressionStatement", + "src": "46557:89:16" + } + ] + }, + "id": 8900, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46487:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8886, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8879, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46496:2:16", + "nodeType": "VariableDeclaration", + "scope": 8900, + "src": "46491:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8878, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46491:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8881, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46505:2:16", + "nodeType": "VariableDeclaration", + "scope": 8900, + "src": "46500:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8880, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46500:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8883, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46523:2:16", + "nodeType": "VariableDeclaration", + "scope": 8900, + "src": "46509:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8882, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46509:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8885, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46535:2:16", + "nodeType": "VariableDeclaration", + "scope": 8900, + "src": "46527:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8884, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "46527:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "46490:48:16" + }, + "returnParameters": { + "id": 8887, + "nodeType": "ParameterList", + "parameters": [], + "src": "46553:0:16" + }, + "scope": 10925, + "src": "46478:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8922, + "nodeType": "Block", + "src": "46716:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c75696e7429", + "id": 8914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46760:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c248834dff84ca4bcbda9cf249a0d5da3bd0a58b4562085082654d4d9851b501", + "typeString": "literal_string \"log(bool,bool,bool,uint)\"" + }, + "value": "log(bool,bool,bool,uint)" + }, + { + "id": 8915, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8902, + "src": "46788:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8916, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8904, + "src": "46792:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8917, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8906, + "src": "46796:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8918, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8908, + "src": "46800:2:16", + "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": 8912, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46736:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8913, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46736:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8919, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46736:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8911, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "46720:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46720:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8921, + "nodeType": "ExpressionStatement", + "src": "46720:84:16" + } + ] + }, + "id": 8923, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46662:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8909, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8902, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46671:2:16", + "nodeType": "VariableDeclaration", + "scope": 8923, + "src": "46666:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8901, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46666:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8904, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46680:2:16", + "nodeType": "VariableDeclaration", + "scope": 8923, + "src": "46675:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8903, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46675:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8906, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46689:2:16", + "nodeType": "VariableDeclaration", + "scope": 8923, + "src": "46684:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8905, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46684:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8908, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46698:2:16", + "nodeType": "VariableDeclaration", + "scope": 8923, + "src": "46693:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8907, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "46693:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "46665:36:16" + }, + "returnParameters": { + "id": 8910, + "nodeType": "ParameterList", + "parameters": [], + "src": "46716:0:16" + }, + "scope": 10925, + "src": "46653:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8945, + "nodeType": "Block", + "src": "46883:94:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c737472696e6729", + "id": 8937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "46927:28:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2ae408d4d030305a0361ad07c397f2b9653613b220d82459c7aeb9a6bab96c15", + "typeString": "literal_string \"log(bool,bool,bool,string)\"" + }, + "value": "log(bool,bool,bool,string)" + }, + { + "id": 8938, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8925, + "src": "46957:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8939, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8927, + "src": "46961:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8940, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8929, + "src": "46965:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8941, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8931, + "src": "46969:2:16", + "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": 8935, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "46903:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8936, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "46903:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46903:69:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8934, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "46887:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8943, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "46887:86:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8944, + "nodeType": "ExpressionStatement", + "src": "46887:86:16" + } + ] + }, + "id": 8946, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46820:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8932, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8925, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46829:2:16", + "nodeType": "VariableDeclaration", + "scope": 8946, + "src": "46824:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8924, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46824:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8927, + "mutability": "mutable", + "name": "p1", + "nameLocation": "46838:2:16", + "nodeType": "VariableDeclaration", + "scope": 8946, + "src": "46833:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8926, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46833:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8929, + "mutability": "mutable", + "name": "p2", + "nameLocation": "46847:2:16", + "nodeType": "VariableDeclaration", + "scope": 8946, + "src": "46842:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8928, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46842:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8931, + "mutability": "mutable", + "name": "p3", + "nameLocation": "46865:2:16", + "nodeType": "VariableDeclaration", + "scope": 8946, + "src": "46851:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 8930, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "46851:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "46823:45:16" + }, + "returnParameters": { + "id": 8933, + "nodeType": "ParameterList", + "parameters": [], + "src": "46883:0:16" + }, + "scope": 10925, + "src": "46811:166:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8968, + "nodeType": "Block", + "src": "47043:92:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 8960, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47087:26:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3b2a5ce0ddf7b166153a4354c81efba12a817983a38c6bc3b58fd91ce816d99f", + "typeString": "literal_string \"log(bool,bool,bool,bool)\"" + }, + "value": "log(bool,bool,bool,bool)" + }, + { + "id": 8961, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8948, + "src": "47115:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8962, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8950, + "src": "47119:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8963, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8952, + "src": "47123:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8964, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8954, + "src": "47127:2:16", + "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": 8958, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47063:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8959, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47063:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8965, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47063:67:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8957, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "47047:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8966, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47047:84:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8967, + "nodeType": "ExpressionStatement", + "src": "47047:84:16" + } + ] + }, + "id": 8969, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "46989:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8955, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8948, + "mutability": "mutable", + "name": "p0", + "nameLocation": "46998:2:16", + "nodeType": "VariableDeclaration", + "scope": 8969, + "src": "46993:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8947, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "46993:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8950, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47007:2:16", + "nodeType": "VariableDeclaration", + "scope": 8969, + "src": "47002:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8949, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47002:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8952, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47016:2:16", + "nodeType": "VariableDeclaration", + "scope": 8969, + "src": "47011:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8951, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47011:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8954, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47025:2:16", + "nodeType": "VariableDeclaration", + "scope": 8969, + "src": "47020:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8953, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47020:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "46992:36:16" + }, + "returnParameters": { + "id": 8956, + "nodeType": "ParameterList", + "parameters": [], + "src": "47043:0:16" + }, + "scope": 10925, + "src": "46980:155:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 8991, + "nodeType": "Block", + "src": "47204:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c626f6f6c2c6164647265737329", + "id": 8983, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47248:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8c329b1a1752dedfc6b781d23096b49b7f905d62405e6e3f0ab0344786ff69f4", + "typeString": "literal_string \"log(bool,bool,bool,address)\"" + }, + "value": "log(bool,bool,bool,address)" + }, + { + "id": 8984, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8971, + "src": "47279:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8985, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8973, + "src": "47283:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8986, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8975, + "src": "47287:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 8987, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8977, + "src": "47291:2:16", + "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": 8981, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47224:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 8982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47224:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 8988, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47224:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 8980, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "47208:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 8989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47208:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 8990, + "nodeType": "ExpressionStatement", + "src": "47208:87:16" + } + ] + }, + "id": 8992, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47147:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 8978, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8971, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47156:2:16", + "nodeType": "VariableDeclaration", + "scope": 8992, + "src": "47151:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8970, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47151:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8973, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47165:2:16", + "nodeType": "VariableDeclaration", + "scope": 8992, + "src": "47160:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8972, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47160:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8975, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47174:2:16", + "nodeType": "VariableDeclaration", + "scope": 8992, + "src": "47169:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8974, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47169:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8977, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47186:2:16", + "nodeType": "VariableDeclaration", + "scope": 8992, + "src": "47178:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8976, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47178:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "47150:39:16" + }, + "returnParameters": { + "id": 8979, + "nodeType": "ParameterList", + "parameters": [], + "src": "47204:0:16" + }, + "scope": 10925, + "src": "47138:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9014, + "nodeType": "Block", + "src": "47368:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c75696e7429", + "id": 9006, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47412:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_609386e78fd5b0eaf4b919077203f18b1606ddf72247d9e5eef9238918f7cf5e", + "typeString": "literal_string \"log(bool,bool,address,uint)\"" + }, + "value": "log(bool,bool,address,uint)" + }, + { + "id": 9007, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8994, + "src": "47443:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9008, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8996, + "src": "47447:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9009, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 8998, + "src": "47451:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9010, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9000, + "src": "47455:2:16", + "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": 9004, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47388:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9005, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47388:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47388:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9003, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "47372:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9012, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47372:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9013, + "nodeType": "ExpressionStatement", + "src": "47372:87:16" + } + ] + }, + "id": 9015, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47311:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9001, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 8994, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47320:2:16", + "nodeType": "VariableDeclaration", + "scope": 9015, + "src": "47315:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8993, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47315:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8996, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47329:2:16", + "nodeType": "VariableDeclaration", + "scope": 9015, + "src": "47324:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 8995, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47324:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 8998, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47341:2:16", + "nodeType": "VariableDeclaration", + "scope": 9015, + "src": "47333:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 8997, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47333:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9000, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47350:2:16", + "nodeType": "VariableDeclaration", + "scope": 9015, + "src": "47345:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 8999, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "47345:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "47314:39:16" + }, + "returnParameters": { + "id": 9002, + "nodeType": "ParameterList", + "parameters": [], + "src": "47368:0:16" + }, + "scope": 10925, + "src": "47302:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9037, + "nodeType": "Block", + "src": "47541:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c737472696e6729", + "id": 9029, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47585:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0a479635c05dee438b610769de0f667f2e93ee267e4cd4badf3dd44eb6271d2", + "typeString": "literal_string \"log(bool,bool,address,string)\"" + }, + "value": "log(bool,bool,address,string)" + }, + { + "id": 9030, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9017, + "src": "47618:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9031, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9019, + "src": "47622:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9032, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9021, + "src": "47626:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9033, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9023, + "src": "47630:2:16", + "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": 9027, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47561:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9028, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47561:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9034, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47561:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9026, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "47545:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9035, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47545:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9036, + "nodeType": "ExpressionStatement", + "src": "47545:89:16" + } + ] + }, + "id": 9038, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47475:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9024, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9017, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47484:2:16", + "nodeType": "VariableDeclaration", + "scope": 9038, + "src": "47479:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9016, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47479:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9019, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47493:2:16", + "nodeType": "VariableDeclaration", + "scope": 9038, + "src": "47488:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9018, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47488:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9021, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47505:2:16", + "nodeType": "VariableDeclaration", + "scope": 9038, + "src": "47497:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9020, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47497:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9023, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47523:2:16", + "nodeType": "VariableDeclaration", + "scope": 9038, + "src": "47509:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9022, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "47509:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "47478:48:16" + }, + "returnParameters": { + "id": 9025, + "nodeType": "ParameterList", + "parameters": [], + "src": "47541:0:16" + }, + "scope": 10925, + "src": "47466:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9060, + "nodeType": "Block", + "src": "47707:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c626f6f6c29", + "id": 9052, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47751:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c0a302d8f11e8919127c20f396068f7014b94967efb042778db9b27b68ee1eaf", + "typeString": "literal_string \"log(bool,bool,address,bool)\"" + }, + "value": "log(bool,bool,address,bool)" + }, + { + "id": 9053, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9040, + "src": "47782:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9054, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9042, + "src": "47786:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9055, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9044, + "src": "47790:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9056, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9046, + "src": "47794:2:16", + "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": 9050, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47727:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9051, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47727:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9057, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47727:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9049, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "47711:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9058, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47711:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9059, + "nodeType": "ExpressionStatement", + "src": "47711:87:16" + } + ] + }, + "id": 9061, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47650:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9047, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9040, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47659:2:16", + "nodeType": "VariableDeclaration", + "scope": 9061, + "src": "47654:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9039, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47654:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9042, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47668:2:16", + "nodeType": "VariableDeclaration", + "scope": 9061, + "src": "47663:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9041, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47663:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9044, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47680:2:16", + "nodeType": "VariableDeclaration", + "scope": 9061, + "src": "47672:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9043, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47672:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9046, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47689:2:16", + "nodeType": "VariableDeclaration", + "scope": 9061, + "src": "47684:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9045, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47684:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "47653:39:16" + }, + "returnParameters": { + "id": 9048, + "nodeType": "ParameterList", + "parameters": [], + "src": "47707:0:16" + }, + "scope": 10925, + "src": "47641:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9083, + "nodeType": "Block", + "src": "47874:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c626f6f6c2c616464726573732c6164647265737329", + "id": 9075, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "47918:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f4880ea4063b4f7e3c68468bb4a7a3f1502aa7497bce4fb0ba02ec0450f047f4", + "typeString": "literal_string \"log(bool,bool,address,address)\"" + }, + "value": "log(bool,bool,address,address)" + }, + { + "id": 9076, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9063, + "src": "47952:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9077, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9065, + "src": "47956:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9078, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9067, + "src": "47960:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9079, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9069, + "src": "47964:2:16", + "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": 9073, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "47894:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9074, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "47894:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47894:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9072, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "47878:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9081, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "47878:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9082, + "nodeType": "ExpressionStatement", + "src": "47878:90:16" + } + ] + }, + "id": 9084, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47814:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9070, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9063, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47823:2:16", + "nodeType": "VariableDeclaration", + "scope": 9084, + "src": "47818:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9062, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47818:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9065, + "mutability": "mutable", + "name": "p1", + "nameLocation": "47832:2:16", + "nodeType": "VariableDeclaration", + "scope": 9084, + "src": "47827:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9064, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47827:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9067, + "mutability": "mutable", + "name": "p2", + "nameLocation": "47844:2:16", + "nodeType": "VariableDeclaration", + "scope": 9084, + "src": "47836:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9066, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47836:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9069, + "mutability": "mutable", + "name": "p3", + "nameLocation": "47856:2:16", + "nodeType": "VariableDeclaration", + "scope": 9084, + "src": "47848:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9068, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47848:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "47817:42:16" + }, + "returnParameters": { + "id": 9071, + "nodeType": "ParameterList", + "parameters": [], + "src": "47874:0:16" + }, + "scope": 10925, + "src": "47805:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9106, + "nodeType": "Block", + "src": "48041:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c75696e7429", + "id": 9098, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48085:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9bfe72bcae17311bf78638487cb2635e8b5b6f81761042494681e890b65ae4df", + "typeString": "literal_string \"log(bool,address,uint,uint)\"" + }, + "value": "log(bool,address,uint,uint)" + }, + { + "id": 9099, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9086, + "src": "48116:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9100, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9088, + "src": "48120:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9101, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9090, + "src": "48124:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9102, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9092, + "src": "48128:2:16", + "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": 9096, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48061:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9097, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48061:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9103, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48061:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9095, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "48045:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9104, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48045:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9105, + "nodeType": "ExpressionStatement", + "src": "48045:87:16" + } + ] + }, + "id": 9107, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "47984:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9093, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9086, + "mutability": "mutable", + "name": "p0", + "nameLocation": "47993:2:16", + "nodeType": "VariableDeclaration", + "scope": 9107, + "src": "47988:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9085, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "47988:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9088, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48005:2:16", + "nodeType": "VariableDeclaration", + "scope": 9107, + "src": "47997:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9087, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "47997:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9090, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48014:2:16", + "nodeType": "VariableDeclaration", + "scope": 9107, + "src": "48009:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9089, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "48009:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9092, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48023:2:16", + "nodeType": "VariableDeclaration", + "scope": 9107, + "src": "48018:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9091, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "48018:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "47987:39:16" + }, + "returnParameters": { + "id": 9094, + "nodeType": "ParameterList", + "parameters": [], + "src": "48041:0:16" + }, + "scope": 10925, + "src": "47975:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9129, + "nodeType": "Block", + "src": "48214:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c737472696e6729", + "id": 9121, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48258:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0685833a55270d98fa68e8c0a0f64fe3e03f6cdaeaebd8f87342de905392f45", + "typeString": "literal_string \"log(bool,address,uint,string)\"" + }, + "value": "log(bool,address,uint,string)" + }, + { + "id": 9122, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9109, + "src": "48291:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9123, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9111, + "src": "48295:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9124, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9113, + "src": "48299:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9125, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9115, + "src": "48303:2:16", + "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": 9119, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48234:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9120, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48234:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9126, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48234:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9118, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "48218:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9127, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48218:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9128, + "nodeType": "ExpressionStatement", + "src": "48218:89:16" + } + ] + }, + "id": 9130, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48148:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9116, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9109, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48157:2:16", + "nodeType": "VariableDeclaration", + "scope": 9130, + "src": "48152:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9108, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48152:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9111, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48169:2:16", + "nodeType": "VariableDeclaration", + "scope": 9130, + "src": "48161:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9110, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48161:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9113, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48178:2:16", + "nodeType": "VariableDeclaration", + "scope": 9130, + "src": "48173:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9112, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "48173:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9115, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48196:2:16", + "nodeType": "VariableDeclaration", + "scope": 9130, + "src": "48182:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9114, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48182:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "48151:48:16" + }, + "returnParameters": { + "id": 9117, + "nodeType": "ParameterList", + "parameters": [], + "src": "48214:0:16" + }, + "scope": 10925, + "src": "48139:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9152, + "nodeType": "Block", + "src": "48380:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c626f6f6c29", + "id": 9144, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48424:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ee8d8672273fdba9089296874ea62335af7f94273edab558dd69c0c81ad5275f", + "typeString": "literal_string \"log(bool,address,uint,bool)\"" + }, + "value": "log(bool,address,uint,bool)" + }, + { + "id": 9145, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9132, + "src": "48455:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9146, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9134, + "src": "48459:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9147, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9136, + "src": "48463:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9148, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9138, + "src": "48467:2:16", + "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": 9142, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48400:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9143, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48400:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9149, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48400:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9141, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "48384:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48384:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9151, + "nodeType": "ExpressionStatement", + "src": "48384:87:16" + } + ] + }, + "id": 9153, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48323:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9139, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9132, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48332:2:16", + "nodeType": "VariableDeclaration", + "scope": 9153, + "src": "48327:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9131, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48327:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9134, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48344:2:16", + "nodeType": "VariableDeclaration", + "scope": 9153, + "src": "48336:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9133, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48336:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9136, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48353:2:16", + "nodeType": "VariableDeclaration", + "scope": 9153, + "src": "48348:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9135, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "48348:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9138, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48362:2:16", + "nodeType": "VariableDeclaration", + "scope": 9153, + "src": "48357:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9137, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48357:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "48326:39:16" + }, + "returnParameters": { + "id": 9140, + "nodeType": "ParameterList", + "parameters": [], + "src": "48380:0:16" + }, + "scope": 10925, + "src": "48314:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9175, + "nodeType": "Block", + "src": "48547:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c75696e742c6164647265737329", + "id": 9167, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48591:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_68f158b5f9bd826807d19c20c2d71bd298a10503195154a299bf8d64baa18687", + "typeString": "literal_string \"log(bool,address,uint,address)\"" + }, + "value": "log(bool,address,uint,address)" + }, + { + "id": 9168, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9155, + "src": "48625:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9169, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9157, + "src": "48629:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9170, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9159, + "src": "48633:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9171, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9161, + "src": "48637:2:16", + "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": 9165, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48567:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9166, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48567:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9172, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48567:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9164, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "48551:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9173, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48551:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9174, + "nodeType": "ExpressionStatement", + "src": "48551:90:16" + } + ] + }, + "id": 9176, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48487:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9162, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9155, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48496:2:16", + "nodeType": "VariableDeclaration", + "scope": 9176, + "src": "48491:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9154, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48491:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9157, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48508:2:16", + "nodeType": "VariableDeclaration", + "scope": 9176, + "src": "48500:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9156, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48500:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9159, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48517:2:16", + "nodeType": "VariableDeclaration", + "scope": 9176, + "src": "48512:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9158, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "48512:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9161, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48529:2:16", + "nodeType": "VariableDeclaration", + "scope": 9176, + "src": "48521:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9160, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48521:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "48490:42:16" + }, + "returnParameters": { + "id": 9163, + "nodeType": "ParameterList", + "parameters": [], + "src": "48547:0:16" + }, + "scope": 10925, + "src": "48478:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9198, + "nodeType": "Block", + "src": "48723:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c75696e7429", + "id": 9190, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48767:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0b99fc2207222410afd35c7faf7feba54ff2367ba89f893584c27ce75693de6e", + "typeString": "literal_string \"log(bool,address,string,uint)\"" + }, + "value": "log(bool,address,string,uint)" + }, + { + "id": 9191, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9178, + "src": "48800:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9192, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9180, + "src": "48804:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9193, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9182, + "src": "48808:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9194, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9184, + "src": "48812:2:16", + "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": 9188, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48743:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9189, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48743:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9195, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48743:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9187, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "48727:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48727:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9197, + "nodeType": "ExpressionStatement", + "src": "48727:89:16" + } + ] + }, + "id": 9199, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48657:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9178, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48666:2:16", + "nodeType": "VariableDeclaration", + "scope": 9199, + "src": "48661:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9177, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48661:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9180, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48678:2:16", + "nodeType": "VariableDeclaration", + "scope": 9199, + "src": "48670:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9179, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48670:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9182, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48696:2:16", + "nodeType": "VariableDeclaration", + "scope": 9199, + "src": "48682:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9181, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48682:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9184, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48705:2:16", + "nodeType": "VariableDeclaration", + "scope": 9199, + "src": "48700:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9183, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "48700:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "48660:48:16" + }, + "returnParameters": { + "id": 9186, + "nodeType": "ParameterList", + "parameters": [], + "src": "48723:0:16" + }, + "scope": 10925, + "src": "48648:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9221, + "nodeType": "Block", + "src": "48907:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c737472696e6729", + "id": 9213, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "48951:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a73c1db639dbf1382c9113eacdf5b14a7ccd81fc001ac60393623936011bf49d", + "typeString": "literal_string \"log(bool,address,string,string)\"" + }, + "value": "log(bool,address,string,string)" + }, + { + "id": 9214, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9201, + "src": "48986:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9215, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9203, + "src": "48990:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9216, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9205, + "src": "48994:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9217, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9207, + "src": "48998:2:16", + "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": 9211, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "48927:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9212, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "48927:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48927:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9210, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "48911:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9219, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "48911:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9220, + "nodeType": "ExpressionStatement", + "src": "48911:91:16" + } + ] + }, + "id": 9222, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "48832:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9201, + "mutability": "mutable", + "name": "p0", + "nameLocation": "48841:2:16", + "nodeType": "VariableDeclaration", + "scope": 9222, + "src": "48836:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9200, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "48836:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9203, + "mutability": "mutable", + "name": "p1", + "nameLocation": "48853:2:16", + "nodeType": "VariableDeclaration", + "scope": 9222, + "src": "48845:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9202, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "48845:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9205, + "mutability": "mutable", + "name": "p2", + "nameLocation": "48871:2:16", + "nodeType": "VariableDeclaration", + "scope": 9222, + "src": "48857:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9204, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48857:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9207, + "mutability": "mutable", + "name": "p3", + "nameLocation": "48889:2:16", + "nodeType": "VariableDeclaration", + "scope": 9222, + "src": "48875:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9206, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "48875:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "48835:57:16" + }, + "returnParameters": { + "id": 9209, + "nodeType": "ParameterList", + "parameters": [], + "src": "48907:0:16" + }, + "scope": 10925, + "src": "48823:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9244, + "nodeType": "Block", + "src": "49084:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c626f6f6c29", + "id": 9236, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49128:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e2bfd60b4f6acdab0603dda631b69bf37ab7cbf71bc5953f9ed72c1f2a76f7dc", + "typeString": "literal_string \"log(bool,address,string,bool)\"" + }, + "value": "log(bool,address,string,bool)" + }, + { + "id": 9237, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9224, + "src": "49161:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9238, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9226, + "src": "49165:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9239, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9228, + "src": "49169:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9240, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9230, + "src": "49173:2:16", + "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": 9234, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49104:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9235, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49104:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49104:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9233, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "49088:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9242, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49088:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9243, + "nodeType": "ExpressionStatement", + "src": "49088:89:16" + } + ] + }, + "id": 9245, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49018:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9231, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9224, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49027:2:16", + "nodeType": "VariableDeclaration", + "scope": 9245, + "src": "49022:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9223, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49022:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9226, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49039:2:16", + "nodeType": "VariableDeclaration", + "scope": 9245, + "src": "49031:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9225, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "49031:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9228, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49057:2:16", + "nodeType": "VariableDeclaration", + "scope": 9245, + "src": "49043:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9227, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49043:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9230, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49066:2:16", + "nodeType": "VariableDeclaration", + "scope": 9245, + "src": "49061:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9229, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49061:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "49021:48:16" + }, + "returnParameters": { + "id": 9232, + "nodeType": "ParameterList", + "parameters": [], + "src": "49084:0:16" + }, + "scope": 10925, + "src": "49009:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9267, + "nodeType": "Block", + "src": "49262:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c737472696e672c6164647265737329", + "id": 9259, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49306:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6f7c603e9035cbc7959bb3d44ec862ddc6711eecebd67d54ceb0010f42f85654", + "typeString": "literal_string \"log(bool,address,string,address)\"" + }, + "value": "log(bool,address,string,address)" + }, + { + "id": 9260, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9247, + "src": "49342:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9261, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9249, + "src": "49346:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9262, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9251, + "src": "49350:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9263, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9253, + "src": "49354:2:16", + "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": 9257, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49282:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9258, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49282:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49282:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9256, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "49266:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49266:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9266, + "nodeType": "ExpressionStatement", + "src": "49266:92:16" + } + ] + }, + "id": 9268, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49193:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9254, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9247, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49202:2:16", + "nodeType": "VariableDeclaration", + "scope": 9268, + "src": "49197:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9246, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49197:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9249, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49214:2:16", + "nodeType": "VariableDeclaration", + "scope": 9268, + "src": "49206:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "49206:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9251, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49232:2:16", + "nodeType": "VariableDeclaration", + "scope": 9268, + "src": "49218:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9250, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49218:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9253, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49244:2:16", + "nodeType": "VariableDeclaration", + "scope": 9268, + "src": "49236:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9252, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "49236:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "49196:51:16" + }, + "returnParameters": { + "id": 9255, + "nodeType": "ParameterList", + "parameters": [], + "src": "49262:0:16" + }, + "scope": 10925, + "src": "49184:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9290, + "nodeType": "Block", + "src": "49431:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c75696e7429", + "id": 9282, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49475:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4cb60fd1171fb665e1565124463601e5c451a362c8efbc6e1fcfbffbbb9850d9", + "typeString": "literal_string \"log(bool,address,bool,uint)\"" + }, + "value": "log(bool,address,bool,uint)" + }, + { + "id": 9283, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9270, + "src": "49506:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9284, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9272, + "src": "49510:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9285, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9274, + "src": "49514:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9286, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9276, + "src": "49518:2:16", + "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": 9280, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49451:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9281, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49451:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49451:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9279, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "49435:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49435:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9289, + "nodeType": "ExpressionStatement", + "src": "49435:87:16" + } + ] + }, + "id": 9291, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49374:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9277, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9270, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49383:2:16", + "nodeType": "VariableDeclaration", + "scope": 9291, + "src": "49378:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9269, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49378:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9272, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49395:2:16", + "nodeType": "VariableDeclaration", + "scope": 9291, + "src": "49387:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "49387:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9274, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49404:2:16", + "nodeType": "VariableDeclaration", + "scope": 9291, + "src": "49399:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9273, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49399:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9276, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49413:2:16", + "nodeType": "VariableDeclaration", + "scope": 9291, + "src": "49408:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9275, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "49408:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "49377:39:16" + }, + "returnParameters": { + "id": 9278, + "nodeType": "ParameterList", + "parameters": [], + "src": "49431:0:16" + }, + "scope": 10925, + "src": "49365:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9313, + "nodeType": "Block", + "src": "49604:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c737472696e6729", + "id": 9305, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49648:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4a66cb34796065525d301a5b87b440b55f1936e34dd66e2f2039307bc4e3ea59", + "typeString": "literal_string \"log(bool,address,bool,string)\"" + }, + "value": "log(bool,address,bool,string)" + }, + { + "id": 9306, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9293, + "src": "49681:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9307, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9295, + "src": "49685:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9308, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9297, + "src": "49689:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9309, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9299, + "src": "49693:2:16", + "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": 9303, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49624:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9304, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49624:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9310, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49624:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9302, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "49608:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9311, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49608:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9312, + "nodeType": "ExpressionStatement", + "src": "49608:89:16" + } + ] + }, + "id": 9314, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49538:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9300, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9293, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49547:2:16", + "nodeType": "VariableDeclaration", + "scope": 9314, + "src": "49542:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9292, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49542:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9295, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49559:2:16", + "nodeType": "VariableDeclaration", + "scope": 9314, + "src": "49551:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9294, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "49551:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9297, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49568:2:16", + "nodeType": "VariableDeclaration", + "scope": 9314, + "src": "49563:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9296, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49563:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9299, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49586:2:16", + "nodeType": "VariableDeclaration", + "scope": 9314, + "src": "49572:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9298, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "49572:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "49541:48:16" + }, + "returnParameters": { + "id": 9301, + "nodeType": "ParameterList", + "parameters": [], + "src": "49604:0:16" + }, + "scope": 10925, + "src": "49529:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9336, + "nodeType": "Block", + "src": "49770:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c626f6f6c29", + "id": 9328, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49814:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6a9c478bc98300d44308882e2e0b5864f2536a2939cb77105f503738b5832577", + "typeString": "literal_string \"log(bool,address,bool,bool)\"" + }, + "value": "log(bool,address,bool,bool)" + }, + { + "id": 9329, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9316, + "src": "49845:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9330, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9318, + "src": "49849:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9331, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9320, + "src": "49853:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9332, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9322, + "src": "49857:2:16", + "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": 9326, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49790:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9327, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49790:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9333, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49790:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9325, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "49774:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49774:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9335, + "nodeType": "ExpressionStatement", + "src": "49774:87:16" + } + ] + }, + "id": 9337, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49713:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9323, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9316, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49722:2:16", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "49717:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9315, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49717:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9318, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49734:2:16", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "49726:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9317, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "49726:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9320, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49743:2:16", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "49738:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9319, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49738:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9322, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49752:2:16", + "nodeType": "VariableDeclaration", + "scope": 9337, + "src": "49747:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9321, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49747:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "49716:39:16" + }, + "returnParameters": { + "id": 9324, + "nodeType": "ParameterList", + "parameters": [], + "src": "49770:0:16" + }, + "scope": 10925, + "src": "49704:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9359, + "nodeType": "Block", + "src": "49937:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c626f6f6c2c6164647265737329", + "id": 9351, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "49981:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1c41a336759f1c2fe1d8b137296b2dfbdcfe7114fc53f203852c2835c09f8870", + "typeString": "literal_string \"log(bool,address,bool,address)\"" + }, + "value": "log(bool,address,bool,address)" + }, + { + "id": 9352, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9339, + "src": "50015:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9353, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9341, + "src": "50019:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9354, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9343, + "src": "50023:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9355, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9345, + "src": "50027:2:16", + "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": 9349, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "49957:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9350, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "49957:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49957:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9348, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "49941:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "49941:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9358, + "nodeType": "ExpressionStatement", + "src": "49941:90:16" + } + ] + }, + "id": 9360, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "49877:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9346, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9339, + "mutability": "mutable", + "name": "p0", + "nameLocation": "49886:2:16", + "nodeType": "VariableDeclaration", + "scope": 9360, + "src": "49881:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9338, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49881:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9341, + "mutability": "mutable", + "name": "p1", + "nameLocation": "49898:2:16", + "nodeType": "VariableDeclaration", + "scope": 9360, + "src": "49890:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9340, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "49890:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9343, + "mutability": "mutable", + "name": "p2", + "nameLocation": "49907:2:16", + "nodeType": "VariableDeclaration", + "scope": 9360, + "src": "49902:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9342, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "49902:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9345, + "mutability": "mutable", + "name": "p3", + "nameLocation": "49919:2:16", + "nodeType": "VariableDeclaration", + "scope": 9360, + "src": "49911:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9344, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "49911:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "49880:42:16" + }, + "returnParameters": { + "id": 9347, + "nodeType": "ParameterList", + "parameters": [], + "src": "49937:0:16" + }, + "scope": 10925, + "src": "49868:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9382, + "nodeType": "Block", + "src": "50107:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c75696e7429", + "id": 9374, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50151:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5284bd6c2d02d32d79d43dcd0793be5ced63bf4e51bea38208974f6d8ca5def7", + "typeString": "literal_string \"log(bool,address,address,uint)\"" + }, + "value": "log(bool,address,address,uint)" + }, + { + "id": 9375, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9362, + "src": "50185:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9376, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9364, + "src": "50189:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9377, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9366, + "src": "50193:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9378, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9368, + "src": "50197:2:16", + "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": 9372, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50127:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9373, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50127:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9379, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50127:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9371, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "50111:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9380, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50111:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9381, + "nodeType": "ExpressionStatement", + "src": "50111:90:16" + } + ] + }, + "id": 9383, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50047:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9369, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9362, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50056:2:16", + "nodeType": "VariableDeclaration", + "scope": 9383, + "src": "50051:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9361, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50051:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9364, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50068:2:16", + "nodeType": "VariableDeclaration", + "scope": 9383, + "src": "50060:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9363, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50060:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9366, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50080:2:16", + "nodeType": "VariableDeclaration", + "scope": 9383, + "src": "50072:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9365, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50072:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9368, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50089:2:16", + "nodeType": "VariableDeclaration", + "scope": 9383, + "src": "50084:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9367, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "50084:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "50050:42:16" + }, + "returnParameters": { + "id": 9370, + "nodeType": "ParameterList", + "parameters": [], + "src": "50107:0:16" + }, + "scope": 10925, + "src": "50038:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9405, + "nodeType": "Block", + "src": "50286:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c737472696e6729", + "id": 9397, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50330:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d812a167fb7ec8cf55a11f06ff411238f0a431de331592d8a735c8c8481f7432", + "typeString": "literal_string \"log(bool,address,address,string)\"" + }, + "value": "log(bool,address,address,string)" + }, + { + "id": 9398, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9385, + "src": "50366:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9399, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9387, + "src": "50370:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9400, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9389, + "src": "50374:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9401, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9391, + "src": "50378:2:16", + "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": 9395, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50306:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50306:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50306:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9394, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "50290:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9403, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50290:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9404, + "nodeType": "ExpressionStatement", + "src": "50290:92:16" + } + ] + }, + "id": 9406, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50217:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9392, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9385, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50226:2:16", + "nodeType": "VariableDeclaration", + "scope": 9406, + "src": "50221:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9384, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50221:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9387, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50238:2:16", + "nodeType": "VariableDeclaration", + "scope": 9406, + "src": "50230:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9386, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50230:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9389, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50250:2:16", + "nodeType": "VariableDeclaration", + "scope": 9406, + "src": "50242:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9388, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50242:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9391, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50268:2:16", + "nodeType": "VariableDeclaration", + "scope": 9406, + "src": "50254:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9390, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50254:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "50220:51:16" + }, + "returnParameters": { + "id": 9393, + "nodeType": "ParameterList", + "parameters": [], + "src": "50286:0:16" + }, + "scope": 10925, + "src": "50208:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9428, + "nodeType": "Block", + "src": "50458:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c626f6f6c29", + "id": 9420, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50502:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_46600be071bbf2a7e3a3cb4fd0e6efe39e86453e4c4a27c400470867be7afd9e", + "typeString": "literal_string \"log(bool,address,address,bool)\"" + }, + "value": "log(bool,address,address,bool)" + }, + { + "id": 9421, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9408, + "src": "50536:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9422, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9410, + "src": "50540:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9423, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9412, + "src": "50544:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9424, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9414, + "src": "50548:2:16", + "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": 9418, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50478:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9419, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50478:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9425, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50478:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9417, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "50462:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9426, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50462:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9427, + "nodeType": "ExpressionStatement", + "src": "50462:90:16" + } + ] + }, + "id": 9429, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50398:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9415, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9408, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50407:2:16", + "nodeType": "VariableDeclaration", + "scope": 9429, + "src": "50402:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9407, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50402:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9410, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50419:2:16", + "nodeType": "VariableDeclaration", + "scope": 9429, + "src": "50411:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9409, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50411:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9412, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50431:2:16", + "nodeType": "VariableDeclaration", + "scope": 9429, + "src": "50423:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9411, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50423:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9414, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50440:2:16", + "nodeType": "VariableDeclaration", + "scope": 9429, + "src": "50435:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9413, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50435:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "50401:42:16" + }, + "returnParameters": { + "id": 9416, + "nodeType": "ParameterList", + "parameters": [], + "src": "50458:0:16" + }, + "scope": 10925, + "src": "50389:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9451, + "nodeType": "Block", + "src": "50631:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728626f6f6c2c616464726573732c616464726573732c6164647265737329", + "id": 9443, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50675:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1d14d00189540d88098b9fe614aa8c0efbe231c1a0fee05e7d705c0342377123", + "typeString": "literal_string \"log(bool,address,address,address)\"" + }, + "value": "log(bool,address,address,address)" + }, + { + "id": 9444, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9431, + "src": "50712:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9445, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9433, + "src": "50716:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9446, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9435, + "src": "50720:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9447, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9437, + "src": "50724:2:16", + "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": 9441, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50651:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9442, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50651:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9448, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50651:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9440, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "50635:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9449, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50635:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9450, + "nodeType": "ExpressionStatement", + "src": "50635:93:16" + } + ] + }, + "id": 9452, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50568:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9438, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9431, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50577:2:16", + "nodeType": "VariableDeclaration", + "scope": 9452, + "src": "50572:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9430, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "50572:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9433, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50589:2:16", + "nodeType": "VariableDeclaration", + "scope": 9452, + "src": "50581:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9432, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50581:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9435, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50601:2:16", + "nodeType": "VariableDeclaration", + "scope": 9452, + "src": "50593:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9434, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50593:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9437, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50613:2:16", + "nodeType": "VariableDeclaration", + "scope": 9452, + "src": "50605:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9436, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50605:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "50571:45:16" + }, + "returnParameters": { + "id": 9439, + "nodeType": "ParameterList", + "parameters": [], + "src": "50631:0:16" + }, + "scope": 10925, + "src": "50559:173:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9474, + "nodeType": "Block", + "src": "50801:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c75696e742c75696e7429", + "id": 9466, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "50845:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3d0e9de46a80fe11d0044e9599dfddd0e8b842cabe189638f7090f19867918c1", + "typeString": "literal_string \"log(address,uint,uint,uint)\"" + }, + "value": "log(address,uint,uint,uint)" + }, + { + "id": 9467, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9454, + "src": "50876:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9468, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9456, + "src": "50880:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9469, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9458, + "src": "50884:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9470, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9460, + "src": "50888:2:16", + "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": 9464, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50821:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9465, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50821:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9471, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50821:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9463, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "50805:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9472, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50805:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9473, + "nodeType": "ExpressionStatement", + "src": "50805:87:16" + } + ] + }, + "id": 9475, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50744:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9461, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9454, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50756:2:16", + "nodeType": "VariableDeclaration", + "scope": 9475, + "src": "50748:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9453, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50748:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9456, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50765:2:16", + "nodeType": "VariableDeclaration", + "scope": 9475, + "src": "50760:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9455, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "50760:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9458, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50774:2:16", + "nodeType": "VariableDeclaration", + "scope": 9475, + "src": "50769:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9457, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "50769:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9460, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50783:2:16", + "nodeType": "VariableDeclaration", + "scope": 9475, + "src": "50778:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9459, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "50778:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "50747:39:16" + }, + "returnParameters": { + "id": 9462, + "nodeType": "ParameterList", + "parameters": [], + "src": "50801:0:16" + }, + "scope": 10925, + "src": "50735:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9497, + "nodeType": "Block", + "src": "50974:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c75696e742c737472696e6729", + "id": 9489, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51018:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_89340dab4d23e956541beb32775ccfee8376ba263886dd811a646420a3a403a3", + "typeString": "literal_string \"log(address,uint,uint,string)\"" + }, + "value": "log(address,uint,uint,string)" + }, + { + "id": 9490, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9477, + "src": "51051:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9491, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9479, + "src": "51055:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9492, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9481, + "src": "51059:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9493, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9483, + "src": "51063:2:16", + "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": 9487, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "50994:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9488, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "50994:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9494, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50994:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9486, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "50978:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9495, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "50978:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9496, + "nodeType": "ExpressionStatement", + "src": "50978:89:16" + } + ] + }, + "id": 9498, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "50908:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9477, + "mutability": "mutable", + "name": "p0", + "nameLocation": "50920:2:16", + "nodeType": "VariableDeclaration", + "scope": 9498, + "src": "50912:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9476, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "50912:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9479, + "mutability": "mutable", + "name": "p1", + "nameLocation": "50929:2:16", + "nodeType": "VariableDeclaration", + "scope": 9498, + "src": "50924:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9478, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "50924:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9481, + "mutability": "mutable", + "name": "p2", + "nameLocation": "50938:2:16", + "nodeType": "VariableDeclaration", + "scope": 9498, + "src": "50933:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9480, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "50933:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9483, + "mutability": "mutable", + "name": "p3", + "nameLocation": "50956:2:16", + "nodeType": "VariableDeclaration", + "scope": 9498, + "src": "50942:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9482, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "50942:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "50911:48:16" + }, + "returnParameters": { + "id": 9485, + "nodeType": "ParameterList", + "parameters": [], + "src": "50974:0:16" + }, + "scope": 10925, + "src": "50899:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9520, + "nodeType": "Block", + "src": "51140:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c75696e742c626f6f6c29", + "id": 9512, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51184:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ec4ba8a24543362f628480c68bc2d6749e97ab33d46530db336a528c77e48393", + "typeString": "literal_string \"log(address,uint,uint,bool)\"" + }, + "value": "log(address,uint,uint,bool)" + }, + { + "id": 9513, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9500, + "src": "51215:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9514, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9502, + "src": "51219:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9515, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9504, + "src": "51223:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9516, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9506, + "src": "51227:2:16", + "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": 9510, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51160:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9511, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51160:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9517, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "51160:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9509, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "51144:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9518, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "51144:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9519, + "nodeType": "ExpressionStatement", + "src": "51144:87:16" + } + ] + }, + "id": 9521, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51083:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9507, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9500, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51095:2:16", + "nodeType": "VariableDeclaration", + "scope": 9521, + "src": "51087:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9499, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51087:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9502, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51104:2:16", + "nodeType": "VariableDeclaration", + "scope": 9521, + "src": "51099:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9501, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51099:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9504, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51113:2:16", + "nodeType": "VariableDeclaration", + "scope": 9521, + "src": "51108:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9503, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51108:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9506, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51122:2:16", + "nodeType": "VariableDeclaration", + "scope": 9521, + "src": "51117:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9505, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51117:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "51086:39:16" + }, + "returnParameters": { + "id": 9508, + "nodeType": "ParameterList", + "parameters": [], + "src": "51140:0:16" + }, + "scope": 10925, + "src": "51074:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9543, + "nodeType": "Block", + "src": "51307:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c75696e742c6164647265737329", + "id": 9535, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51351:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1ef634347c2e4a2aa1a4e4e13d33bf0169f02bc4d10ff6168ca604cf3134d957", + "typeString": "literal_string \"log(address,uint,uint,address)\"" + }, + "value": "log(address,uint,uint,address)" + }, + { + "id": 9536, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9523, + "src": "51385:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9537, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9525, + "src": "51389:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9538, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9527, + "src": "51393:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9539, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9529, + "src": "51397:2:16", + "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": 9533, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51327:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9534, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51327:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "51327:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9532, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "51311:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9541, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "51311:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9542, + "nodeType": "ExpressionStatement", + "src": "51311:90:16" + } + ] + }, + "id": 9544, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51247:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9530, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9523, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51259:2:16", + "nodeType": "VariableDeclaration", + "scope": 9544, + "src": "51251:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9522, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51251:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9525, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51268:2:16", + "nodeType": "VariableDeclaration", + "scope": 9544, + "src": "51263:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9524, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51263:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9527, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51277:2:16", + "nodeType": "VariableDeclaration", + "scope": 9544, + "src": "51272:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9526, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51272:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9529, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51289:2:16", + "nodeType": "VariableDeclaration", + "scope": 9544, + "src": "51281:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9528, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51281:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "51250:42:16" + }, + "returnParameters": { + "id": 9531, + "nodeType": "ParameterList", + "parameters": [], + "src": "51307:0:16" + }, + "scope": 10925, + "src": "51238:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9566, + "nodeType": "Block", + "src": "51483:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c75696e7429", + "id": 9558, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51527:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f512cf9b6f6b16313e82164dab4a017b25c36dde729112fd1b69de438557701b", + "typeString": "literal_string \"log(address,uint,string,uint)\"" + }, + "value": "log(address,uint,string,uint)" + }, + { + "id": 9559, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9546, + "src": "51560:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9560, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9548, + "src": "51564:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9561, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9550, + "src": "51568:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9562, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9552, + "src": "51572:2:16", + "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": 9556, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51503:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9557, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51503:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9563, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "51503:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9555, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "51487:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9564, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "51487:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9565, + "nodeType": "ExpressionStatement", + "src": "51487:89:16" + } + ] + }, + "id": 9567, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51417:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9546, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51429:2:16", + "nodeType": "VariableDeclaration", + "scope": 9567, + "src": "51421:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9545, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51421:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9548, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51438:2:16", + "nodeType": "VariableDeclaration", + "scope": 9567, + "src": "51433:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9547, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51433:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9550, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51456:2:16", + "nodeType": "VariableDeclaration", + "scope": 9567, + "src": "51442:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9549, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "51442:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9552, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51465:2:16", + "nodeType": "VariableDeclaration", + "scope": 9567, + "src": "51460:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9551, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51460:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "51420:48:16" + }, + "returnParameters": { + "id": 9554, + "nodeType": "ParameterList", + "parameters": [], + "src": "51483:0:16" + }, + "scope": 10925, + "src": "51408:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9589, + "nodeType": "Block", + "src": "51667:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c737472696e6729", + "id": 9581, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51711:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e56c693294848e354fd0e0f30db9c459984681d518306ec606cfd6f328a5ba0", + "typeString": "literal_string \"log(address,uint,string,string)\"" + }, + "value": "log(address,uint,string,string)" + }, + { + "id": 9582, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9569, + "src": "51746:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9583, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9571, + "src": "51750:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9584, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9573, + "src": "51754:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9585, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9575, + "src": "51758:2:16", + "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": 9579, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51687:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9580, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51687:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9586, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "51687:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9578, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "51671:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9587, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "51671:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9588, + "nodeType": "ExpressionStatement", + "src": "51671:91:16" + } + ] + }, + "id": 9590, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51592:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9576, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9569, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51604:2:16", + "nodeType": "VariableDeclaration", + "scope": 9590, + "src": "51596:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9568, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51596:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9571, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51613:2:16", + "nodeType": "VariableDeclaration", + "scope": 9590, + "src": "51608:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9570, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51608:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9573, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51631:2:16", + "nodeType": "VariableDeclaration", + "scope": 9590, + "src": "51617:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9572, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "51617:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9575, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51649:2:16", + "nodeType": "VariableDeclaration", + "scope": 9590, + "src": "51635:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9574, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "51635:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "51595:57:16" + }, + "returnParameters": { + "id": 9577, + "nodeType": "ParameterList", + "parameters": [], + "src": "51667:0:16" + }, + "scope": 10925, + "src": "51583:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9612, + "nodeType": "Block", + "src": "51844:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c626f6f6c29", + "id": 9604, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "51888:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4024f1195637e9b9bd0fa746905cf1693b1e0cd3e1c717a1cbc5279763b256a", + "typeString": "literal_string \"log(address,uint,string,bool)\"" + }, + "value": "log(address,uint,string,bool)" + }, + { + "id": 9605, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9592, + "src": "51921:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9606, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9594, + "src": "51925:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9607, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9596, + "src": "51929:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9608, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9598, + "src": "51933:2:16", + "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": 9602, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "51864:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9603, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "51864:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9609, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "51864:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9601, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "51848:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9610, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "51848:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9611, + "nodeType": "ExpressionStatement", + "src": "51848:89:16" + } + ] + }, + "id": 9613, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51778:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9599, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9592, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51790:2:16", + "nodeType": "VariableDeclaration", + "scope": 9613, + "src": "51782:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9591, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51782:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9594, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51799:2:16", + "nodeType": "VariableDeclaration", + "scope": 9613, + "src": "51794:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9593, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51794:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9596, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51817:2:16", + "nodeType": "VariableDeclaration", + "scope": 9613, + "src": "51803:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9595, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "51803:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9598, + "mutability": "mutable", + "name": "p3", + "nameLocation": "51826:2:16", + "nodeType": "VariableDeclaration", + "scope": 9613, + "src": "51821:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9597, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "51821:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "51781:48:16" + }, + "returnParameters": { + "id": 9600, + "nodeType": "ParameterList", + "parameters": [], + "src": "51844:0:16" + }, + "scope": 10925, + "src": "51769:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9635, + "nodeType": "Block", + "src": "52022:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c737472696e672c6164647265737329", + "id": 9627, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52066:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dc792604099307de53721f0c554f3059214ac3d8d1f6cd01cd16cf188835e809", + "typeString": "literal_string \"log(address,uint,string,address)\"" + }, + "value": "log(address,uint,string,address)" + }, + { + "id": 9628, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9615, + "src": "52102:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9629, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9617, + "src": "52106:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9630, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9619, + "src": "52110:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9631, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9621, + "src": "52114:2:16", + "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": 9625, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52042:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9626, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52042:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9632, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52042:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9624, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "52026:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9633, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52026:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9634, + "nodeType": "ExpressionStatement", + "src": "52026:92:16" + } + ] + }, + "id": 9636, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "51953:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9622, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9615, + "mutability": "mutable", + "name": "p0", + "nameLocation": "51965:2:16", + "nodeType": "VariableDeclaration", + "scope": 9636, + "src": "51957:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9614, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51957:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9617, + "mutability": "mutable", + "name": "p1", + "nameLocation": "51974:2:16", + "nodeType": "VariableDeclaration", + "scope": 9636, + "src": "51969:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9616, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "51969:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9619, + "mutability": "mutable", + "name": "p2", + "nameLocation": "51992:2:16", + "nodeType": "VariableDeclaration", + "scope": 9636, + "src": "51978:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9618, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "51978:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9621, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52004:2:16", + "nodeType": "VariableDeclaration", + "scope": 9636, + "src": "51996:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9620, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "51996:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "51956:51:16" + }, + "returnParameters": { + "id": 9623, + "nodeType": "ParameterList", + "parameters": [], + "src": "52022:0:16" + }, + "scope": 10925, + "src": "51944:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9658, + "nodeType": "Block", + "src": "52191:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c75696e7429", + "id": 9650, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52235:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_698f43923a9354f67c861ae1c111970990b11c7f948743e5f44d6ea901e7f1a2", + "typeString": "literal_string \"log(address,uint,bool,uint)\"" + }, + "value": "log(address,uint,bool,uint)" + }, + { + "id": 9651, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9638, + "src": "52266:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9652, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9640, + "src": "52270:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9653, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9642, + "src": "52274:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9654, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9644, + "src": "52278:2:16", + "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": 9648, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52211:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9649, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52211:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9655, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52211:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9647, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "52195:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9656, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52195:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9657, + "nodeType": "ExpressionStatement", + "src": "52195:87:16" + } + ] + }, + "id": 9659, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52134:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9645, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9638, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52146:2:16", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "52138:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9637, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52138:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9640, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52155:2:16", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "52150:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9639, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52150:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9642, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52164:2:16", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "52159:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9641, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52159:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9644, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52173:2:16", + "nodeType": "VariableDeclaration", + "scope": 9659, + "src": "52168:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9643, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52168:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "52137:39:16" + }, + "returnParameters": { + "id": 9646, + "nodeType": "ParameterList", + "parameters": [], + "src": "52191:0:16" + }, + "scope": 10925, + "src": "52125:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9681, + "nodeType": "Block", + "src": "52364:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c737472696e6729", + "id": 9673, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52408:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8e8e4e75a8ccb3f0e11ad74335eebf7a17a78463e99c3b077ff34193a8918f3f", + "typeString": "literal_string \"log(address,uint,bool,string)\"" + }, + "value": "log(address,uint,bool,string)" + }, + { + "id": 9674, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9661, + "src": "52441:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9675, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9663, + "src": "52445:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9676, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9665, + "src": "52449:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9677, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9667, + "src": "52453:2:16", + "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": 9671, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52384:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9672, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52384:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9678, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52384:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9670, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "52368:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9679, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52368:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9680, + "nodeType": "ExpressionStatement", + "src": "52368:89:16" + } + ] + }, + "id": 9682, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52298:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9668, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9661, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52310:2:16", + "nodeType": "VariableDeclaration", + "scope": 9682, + "src": "52302:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9660, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52302:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9663, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52319:2:16", + "nodeType": "VariableDeclaration", + "scope": 9682, + "src": "52314:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9662, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52314:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9665, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52328:2:16", + "nodeType": "VariableDeclaration", + "scope": 9682, + "src": "52323:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9664, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52323:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9667, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52346:2:16", + "nodeType": "VariableDeclaration", + "scope": 9682, + "src": "52332:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9666, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "52332:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "52301:48:16" + }, + "returnParameters": { + "id": 9669, + "nodeType": "ParameterList", + "parameters": [], + "src": "52364:0:16" + }, + "scope": 10925, + "src": "52289:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9704, + "nodeType": "Block", + "src": "52530:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c626f6f6c29", + "id": 9696, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52574:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fea1d55aec42c422504acea77de45574d2fa3abd9dc9c6288741e19c3bd9849b", + "typeString": "literal_string \"log(address,uint,bool,bool)\"" + }, + "value": "log(address,uint,bool,bool)" + }, + { + "id": 9697, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9684, + "src": "52605:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9698, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9686, + "src": "52609:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9699, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9688, + "src": "52613:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9700, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9690, + "src": "52617:2:16", + "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": 9694, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52550:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9695, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52550:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9701, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52550:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9693, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "52534:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9702, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52534:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9703, + "nodeType": "ExpressionStatement", + "src": "52534:87:16" + } + ] + }, + "id": 9705, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52473:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9691, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9684, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52485:2:16", + "nodeType": "VariableDeclaration", + "scope": 9705, + "src": "52477:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9683, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52477:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9686, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52494:2:16", + "nodeType": "VariableDeclaration", + "scope": 9705, + "src": "52489:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9685, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52489:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9688, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52503:2:16", + "nodeType": "VariableDeclaration", + "scope": 9705, + "src": "52498:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9687, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52498:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9690, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52512:2:16", + "nodeType": "VariableDeclaration", + "scope": 9705, + "src": "52507:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9689, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52507:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "52476:39:16" + }, + "returnParameters": { + "id": 9692, + "nodeType": "ParameterList", + "parameters": [], + "src": "52530:0:16" + }, + "scope": 10925, + "src": "52464:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9727, + "nodeType": "Block", + "src": "52697:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c626f6f6c2c6164647265737329", + "id": 9719, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52741:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_23e5497254e625e6c33a3fa3eb47ff18f6bac3345da52f847bd5571820febf2d", + "typeString": "literal_string \"log(address,uint,bool,address)\"" + }, + "value": "log(address,uint,bool,address)" + }, + { + "id": 9720, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9707, + "src": "52775:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9721, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9709, + "src": "52779:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9722, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9711, + "src": "52783:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 9723, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9713, + "src": "52787:2:16", + "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": 9717, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52717:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9718, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52717:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52717:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9716, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "52701:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9725, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52701:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9726, + "nodeType": "ExpressionStatement", + "src": "52701:90:16" + } + ] + }, + "id": 9728, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52637:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9714, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9707, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52649:2:16", + "nodeType": "VariableDeclaration", + "scope": 9728, + "src": "52641:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9706, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52641:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9709, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52658:2:16", + "nodeType": "VariableDeclaration", + "scope": 9728, + "src": "52653:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9708, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52653:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9711, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52667:2:16", + "nodeType": "VariableDeclaration", + "scope": 9728, + "src": "52662:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9710, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "52662:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9713, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52679:2:16", + "nodeType": "VariableDeclaration", + "scope": 9728, + "src": "52671:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9712, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52671:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "52640:42:16" + }, + "returnParameters": { + "id": 9715, + "nodeType": "ParameterList", + "parameters": [], + "src": "52697:0:16" + }, + "scope": 10925, + "src": "52628:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9750, + "nodeType": "Block", + "src": "52867:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c75696e7429", + "id": 9742, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "52911:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a5d98768f8145ad77f2cf1b1f44790c3edb28c68feadee43b01883b75311ac0e", + "typeString": "literal_string \"log(address,uint,address,uint)\"" + }, + "value": "log(address,uint,address,uint)" + }, + { + "id": 9743, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9730, + "src": "52945:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9744, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9732, + "src": "52949:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9745, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9734, + "src": "52953:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9746, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9736, + "src": "52957:2:16", + "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": 9740, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "52887:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9741, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "52887:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9747, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52887:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9739, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "52871:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9748, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "52871:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9749, + "nodeType": "ExpressionStatement", + "src": "52871:90:16" + } + ] + }, + "id": 9751, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52807:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9737, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9730, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52819:2:16", + "nodeType": "VariableDeclaration", + "scope": 9751, + "src": "52811:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9729, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52811:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9732, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52828:2:16", + "nodeType": "VariableDeclaration", + "scope": 9751, + "src": "52823:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9731, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52823:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9734, + "mutability": "mutable", + "name": "p2", + "nameLocation": "52840:2:16", + "nodeType": "VariableDeclaration", + "scope": 9751, + "src": "52832:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9733, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52832:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9736, + "mutability": "mutable", + "name": "p3", + "nameLocation": "52849:2:16", + "nodeType": "VariableDeclaration", + "scope": 9751, + "src": "52844:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9735, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52844:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "52810:42:16" + }, + "returnParameters": { + "id": 9738, + "nodeType": "ParameterList", + "parameters": [], + "src": "52867:0:16" + }, + "scope": 10925, + "src": "52798:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9773, + "nodeType": "Block", + "src": "53046:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c737472696e6729", + "id": 9765, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53090:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d71f39ef468709ab1c82c125aa1311ff96f65f56794c27c7babe5651379e4b4", + "typeString": "literal_string \"log(address,uint,address,string)\"" + }, + "value": "log(address,uint,address,string)" + }, + { + "id": 9766, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9753, + "src": "53126:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9767, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9755, + "src": "53130:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9768, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9757, + "src": "53134:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9769, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9759, + "src": "53138:2:16", + "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": 9763, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53066:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9764, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53066:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9770, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53066:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9762, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "53050:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9771, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53050:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9772, + "nodeType": "ExpressionStatement", + "src": "53050:92:16" + } + ] + }, + "id": 9774, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "52977:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9760, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9753, + "mutability": "mutable", + "name": "p0", + "nameLocation": "52989:2:16", + "nodeType": "VariableDeclaration", + "scope": 9774, + "src": "52981:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9752, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "52981:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9755, + "mutability": "mutable", + "name": "p1", + "nameLocation": "52998:2:16", + "nodeType": "VariableDeclaration", + "scope": 9774, + "src": "52993:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9754, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "52993:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9757, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53010:2:16", + "nodeType": "VariableDeclaration", + "scope": 9774, + "src": "53002:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9756, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53002:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9759, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53028:2:16", + "nodeType": "VariableDeclaration", + "scope": 9774, + "src": "53014:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9758, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "53014:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "52980:51:16" + }, + "returnParameters": { + "id": 9761, + "nodeType": "ParameterList", + "parameters": [], + "src": "53046:0:16" + }, + "scope": 10925, + "src": "52968:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9796, + "nodeType": "Block", + "src": "53218:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c626f6f6c29", + "id": 9788, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53262:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f181a1e98aefbb6e5d63ca72f24da9aa3686f47d72314c12e70fa7843b309ee6", + "typeString": "literal_string \"log(address,uint,address,bool)\"" + }, + "value": "log(address,uint,address,bool)" + }, + { + "id": 9789, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9776, + "src": "53296:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9790, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9778, + "src": "53300:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9791, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9780, + "src": "53304:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9792, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9782, + "src": "53308:2:16", + "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": 9786, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53238:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9787, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53238:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9793, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53238:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9785, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "53222:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9794, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53222:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9795, + "nodeType": "ExpressionStatement", + "src": "53222:90:16" + } + ] + }, + "id": 9797, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53158:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9783, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9776, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53170:2:16", + "nodeType": "VariableDeclaration", + "scope": 9797, + "src": "53162:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9775, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53162:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9778, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53179:2:16", + "nodeType": "VariableDeclaration", + "scope": 9797, + "src": "53174:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9777, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "53174:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9780, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53191:2:16", + "nodeType": "VariableDeclaration", + "scope": 9797, + "src": "53183:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9779, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53183:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9782, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53200:2:16", + "nodeType": "VariableDeclaration", + "scope": 9797, + "src": "53195:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9781, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53195:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "53161:42:16" + }, + "returnParameters": { + "id": 9784, + "nodeType": "ParameterList", + "parameters": [], + "src": "53218:0:16" + }, + "scope": 10925, + "src": "53149:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9819, + "nodeType": "Block", + "src": "53391:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c75696e742c616464726573732c6164647265737329", + "id": 9811, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53435:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ec24846f1ed52bfa5dc64139c1bf8b03f991fdd5156eccb50dfe44ca5a2ca40e", + "typeString": "literal_string \"log(address,uint,address,address)\"" + }, + "value": "log(address,uint,address,address)" + }, + { + "id": 9812, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9799, + "src": "53472:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9813, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9801, + "src": "53476:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9814, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9803, + "src": "53480:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9815, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9805, + "src": "53484:2:16", + "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": 9809, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53411:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9810, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53411:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9816, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53411:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9808, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "53395:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9817, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53395:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9818, + "nodeType": "ExpressionStatement", + "src": "53395:93:16" + } + ] + }, + "id": 9820, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53328:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9806, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9799, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53340:2:16", + "nodeType": "VariableDeclaration", + "scope": 9820, + "src": "53332:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9798, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53332:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9801, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53349:2:16", + "nodeType": "VariableDeclaration", + "scope": 9820, + "src": "53344:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9800, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "53344:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9803, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53361:2:16", + "nodeType": "VariableDeclaration", + "scope": 9820, + "src": "53353:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9802, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53353:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9805, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53373:2:16", + "nodeType": "VariableDeclaration", + "scope": 9820, + "src": "53365:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53365:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "53331:45:16" + }, + "returnParameters": { + "id": 9807, + "nodeType": "ParameterList", + "parameters": [], + "src": "53391:0:16" + }, + "scope": 10925, + "src": "53319:173:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9842, + "nodeType": "Block", + "src": "53570:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c75696e7429", + "id": 9834, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53614:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a4c92a60ad8c7136a44d442238a838fba251b421248205a77f1a522d55c988af", + "typeString": "literal_string \"log(address,string,uint,uint)\"" + }, + "value": "log(address,string,uint,uint)" + }, + { + "id": 9835, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9822, + "src": "53647:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9836, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9824, + "src": "53651:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9837, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9826, + "src": "53655:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9838, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9828, + "src": "53659:2:16", + "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": 9832, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53590:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9833, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53590:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9839, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53590:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9831, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "53574:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9840, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53574:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9841, + "nodeType": "ExpressionStatement", + "src": "53574:89:16" + } + ] + }, + "id": 9843, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53504:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9829, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9822, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53516:2:16", + "nodeType": "VariableDeclaration", + "scope": 9843, + "src": "53508:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9821, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53508:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9824, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53534:2:16", + "nodeType": "VariableDeclaration", + "scope": 9843, + "src": "53520:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9823, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "53520:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9826, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53543:2:16", + "nodeType": "VariableDeclaration", + "scope": 9843, + "src": "53538:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9825, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "53538:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9828, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53552:2:16", + "nodeType": "VariableDeclaration", + "scope": 9843, + "src": "53547:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9827, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "53547:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "53507:48:16" + }, + "returnParameters": { + "id": 9830, + "nodeType": "ParameterList", + "parameters": [], + "src": "53570:0:16" + }, + "scope": 10925, + "src": "53495:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9865, + "nodeType": "Block", + "src": "53754:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c737472696e6729", + "id": 9857, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53798:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d1365c94e45374e792b786edc547d0277c401db24a4303b5dd1e8a93df0829e", + "typeString": "literal_string \"log(address,string,uint,string)\"" + }, + "value": "log(address,string,uint,string)" + }, + { + "id": 9858, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9845, + "src": "53833:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9859, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9847, + "src": "53837:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9860, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9849, + "src": "53841:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9861, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9851, + "src": "53845:2:16", + "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": 9855, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53774:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9856, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53774:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53774:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9854, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "53758:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9863, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53758:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9864, + "nodeType": "ExpressionStatement", + "src": "53758:91:16" + } + ] + }, + "id": 9866, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53679:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9852, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9845, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53691:2:16", + "nodeType": "VariableDeclaration", + "scope": 9866, + "src": "53683:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9844, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53683:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9847, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53709:2:16", + "nodeType": "VariableDeclaration", + "scope": 9866, + "src": "53695:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9846, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "53695:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9849, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53718:2:16", + "nodeType": "VariableDeclaration", + "scope": 9866, + "src": "53713:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9848, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "53713:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9851, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53736:2:16", + "nodeType": "VariableDeclaration", + "scope": 9866, + "src": "53722:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9850, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "53722:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "53682:57:16" + }, + "returnParameters": { + "id": 9853, + "nodeType": "ParameterList", + "parameters": [], + "src": "53754:0:16" + }, + "scope": 10925, + "src": "53670:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9888, + "nodeType": "Block", + "src": "53931:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c626f6f6c29", + "id": 9880, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "53975:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7e250d5bf3975165268961c2b6dbe143f053bed03d903630f547f1fbab28b895", + "typeString": "literal_string \"log(address,string,uint,bool)\"" + }, + "value": "log(address,string,uint,bool)" + }, + { + "id": 9881, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9868, + "src": "54008:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9882, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9870, + "src": "54012:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9883, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9872, + "src": "54016:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9884, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9874, + "src": "54020:2:16", + "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": 9878, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "53951:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9879, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "53951:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53951:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9877, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "53935:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9886, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "53935:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9887, + "nodeType": "ExpressionStatement", + "src": "53935:89:16" + } + ] + }, + "id": 9889, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "53865:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9875, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9868, + "mutability": "mutable", + "name": "p0", + "nameLocation": "53877:2:16", + "nodeType": "VariableDeclaration", + "scope": 9889, + "src": "53869:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9867, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "53869:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9870, + "mutability": "mutable", + "name": "p1", + "nameLocation": "53895:2:16", + "nodeType": "VariableDeclaration", + "scope": 9889, + "src": "53881:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9869, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "53881:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9872, + "mutability": "mutable", + "name": "p2", + "nameLocation": "53904:2:16", + "nodeType": "VariableDeclaration", + "scope": 9889, + "src": "53899:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9871, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "53899:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9874, + "mutability": "mutable", + "name": "p3", + "nameLocation": "53913:2:16", + "nodeType": "VariableDeclaration", + "scope": 9889, + "src": "53908:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9873, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "53908:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "53868:48:16" + }, + "returnParameters": { + "id": 9876, + "nodeType": "ParameterList", + "parameters": [], + "src": "53931:0:16" + }, + "scope": 10925, + "src": "53856:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9911, + "nodeType": "Block", + "src": "54109:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c75696e742c6164647265737329", + "id": 9903, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54153:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dfd7d80b4150ea6b0b2772758d6e66d8c7f141bfd7de11119a8fee2a703664e4", + "typeString": "literal_string \"log(address,string,uint,address)\"" + }, + "value": "log(address,string,uint,address)" + }, + { + "id": 9904, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9891, + "src": "54189:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9905, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9893, + "src": "54193:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9906, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9895, + "src": "54197:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 9907, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9897, + "src": "54201:2:16", + "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": 9901, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54129:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9902, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54129:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9908, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "54129:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9900, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "54113:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9909, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "54113:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9910, + "nodeType": "ExpressionStatement", + "src": "54113:92:16" + } + ] + }, + "id": 9912, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54040:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9898, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9891, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54052:2:16", + "nodeType": "VariableDeclaration", + "scope": 9912, + "src": "54044:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9890, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54044:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9893, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54070:2:16", + "nodeType": "VariableDeclaration", + "scope": 9912, + "src": "54056:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9892, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54056:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9895, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54079:2:16", + "nodeType": "VariableDeclaration", + "scope": 9912, + "src": "54074:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9894, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "54074:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9897, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54091:2:16", + "nodeType": "VariableDeclaration", + "scope": 9912, + "src": "54083:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9896, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54083:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "54043:51:16" + }, + "returnParameters": { + "id": 9899, + "nodeType": "ParameterList", + "parameters": [], + "src": "54109:0:16" + }, + "scope": 10925, + "src": "54031:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9934, + "nodeType": "Block", + "src": "54296:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c75696e7429", + "id": 9926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54340:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a14fd039ae37435afa9d1674d6d48b37ffbd5da4cd9166a3f673f5f0db01a4c5", + "typeString": "literal_string \"log(address,string,string,uint)\"" + }, + "value": "log(address,string,string,uint)" + }, + { + "id": 9927, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9914, + "src": "54375:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9928, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9916, + "src": "54379:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9929, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9918, + "src": "54383:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9930, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9920, + "src": "54387:2:16", + "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": 9924, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54316:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9925, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54316:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9931, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "54316:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9923, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "54300:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9932, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "54300:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9933, + "nodeType": "ExpressionStatement", + "src": "54300:91:16" + } + ] + }, + "id": 9935, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54221:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9914, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54233:2:16", + "nodeType": "VariableDeclaration", + "scope": 9935, + "src": "54225:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9913, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54225:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9916, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54251:2:16", + "nodeType": "VariableDeclaration", + "scope": 9935, + "src": "54237:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9915, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54237:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9918, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54269:2:16", + "nodeType": "VariableDeclaration", + "scope": 9935, + "src": "54255:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9917, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54255:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9920, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54278:2:16", + "nodeType": "VariableDeclaration", + "scope": 9935, + "src": "54273:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 9919, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "54273:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "54224:57:16" + }, + "returnParameters": { + "id": 9922, + "nodeType": "ParameterList", + "parameters": [], + "src": "54296:0:16" + }, + "scope": 10925, + "src": "54212:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9957, + "nodeType": "Block", + "src": "54491:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c737472696e6729", + "id": 9949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54535:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5d02c50b371ad9a1f5c638dc99b5e9b545011f148f0be5233c530a4b2a12665c", + "typeString": "literal_string \"log(address,string,string,string)\"" + }, + "value": "log(address,string,string,string)" + }, + { + "id": 9950, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9937, + "src": "54572:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9951, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9939, + "src": "54576:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9952, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9941, + "src": "54580:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9953, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9943, + "src": "54584:2:16", + "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": 9947, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54511:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9948, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54511:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9954, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "54511:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9946, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "54495:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "54495:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9956, + "nodeType": "ExpressionStatement", + "src": "54495:93:16" + } + ] + }, + "id": 9958, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54407:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9944, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9937, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54419:2:16", + "nodeType": "VariableDeclaration", + "scope": 9958, + "src": "54411:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9936, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54411:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9939, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54437:2:16", + "nodeType": "VariableDeclaration", + "scope": 9958, + "src": "54423:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9938, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54423:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9941, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54455:2:16", + "nodeType": "VariableDeclaration", + "scope": 9958, + "src": "54441:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9940, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54441:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9943, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54473:2:16", + "nodeType": "VariableDeclaration", + "scope": 9958, + "src": "54459:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9942, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54459:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "54410:66:16" + }, + "returnParameters": { + "id": 9945, + "nodeType": "ParameterList", + "parameters": [], + "src": "54491:0:16" + }, + "scope": 10925, + "src": "54398:194:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 9980, + "nodeType": "Block", + "src": "54679:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c626f6f6c29", + "id": 9972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54723:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_35a5071fa9f4610e50772083182f21e949e7a02301a3936e315dd1c4fc39a9ed", + "typeString": "literal_string \"log(address,string,string,bool)\"" + }, + "value": "log(address,string,string,bool)" + }, + { + "id": 9973, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9960, + "src": "54758:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9974, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9962, + "src": "54762:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9975, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9964, + "src": "54766:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9976, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9966, + "src": "54770:2:16", + "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": 9970, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54699:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54699:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 9977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "54699:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9969, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "54683:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 9978, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "54683:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 9979, + "nodeType": "ExpressionStatement", + "src": "54683:91:16" + } + ] + }, + "id": 9981, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54604:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9967, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9960, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54616:2:16", + "nodeType": "VariableDeclaration", + "scope": 9981, + "src": "54608:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9959, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54608:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9962, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54634:2:16", + "nodeType": "VariableDeclaration", + "scope": 9981, + "src": "54620:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9961, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54620:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9964, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54652:2:16", + "nodeType": "VariableDeclaration", + "scope": 9981, + "src": "54638:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9963, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54638:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9966, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54661:2:16", + "nodeType": "VariableDeclaration", + "scope": 9981, + "src": "54656:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 9965, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "54656:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "54607:57:16" + }, + "returnParameters": { + "id": 9968, + "nodeType": "ParameterList", + "parameters": [], + "src": "54679:0:16" + }, + "scope": 10925, + "src": "54595:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10003, + "nodeType": "Block", + "src": "54868:102:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c737472696e672c6164647265737329", + "id": 9995, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "54912:36:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a04e2f87a739673cc9223810c24b00b35c6b2c9f3ef123cc82866752e1fa816f", + "typeString": "literal_string \"log(address,string,string,address)\"" + }, + "value": "log(address,string,string,address)" + }, + { + "id": 9996, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9983, + "src": "54950:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 9997, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9985, + "src": "54954:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9998, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9987, + "src": "54958:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 9999, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 9989, + "src": "54962:2:16", + "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": 9993, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "54888:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 9994, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "54888:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "54888:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 9992, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "54872:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "54872:94:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10002, + "nodeType": "ExpressionStatement", + "src": "54872:94:16" + } + ] + }, + "id": 10004, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54790:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 9990, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 9983, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54802:2:16", + "nodeType": "VariableDeclaration", + "scope": 10004, + "src": "54794:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9982, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54794:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9985, + "mutability": "mutable", + "name": "p1", + "nameLocation": "54820:2:16", + "nodeType": "VariableDeclaration", + "scope": 10004, + "src": "54806:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9984, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54806:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9987, + "mutability": "mutable", + "name": "p2", + "nameLocation": "54838:2:16", + "nodeType": "VariableDeclaration", + "scope": 10004, + "src": "54824:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 9986, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54824:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 9989, + "mutability": "mutable", + "name": "p3", + "nameLocation": "54850:2:16", + "nodeType": "VariableDeclaration", + "scope": 10004, + "src": "54842:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 9988, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54842:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "54793:60:16" + }, + "returnParameters": { + "id": 9991, + "nodeType": "ParameterList", + "parameters": [], + "src": "54868:0:16" + }, + "scope": 10925, + "src": "54781:189:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10026, + "nodeType": "Block", + "src": "55048:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c75696e7429", + "id": 10018, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55092:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e720521cc58e36659b0c45689a38054bd7300ff30d5ec0cfec7bae3dc2e9689a", + "typeString": "literal_string \"log(address,string,bool,uint)\"" + }, + "value": "log(address,string,bool,uint)" + }, + { + "id": 10019, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10006, + "src": "55125:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10020, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10008, + "src": "55129:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10021, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10010, + "src": "55133:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10022, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10012, + "src": "55137:2:16", + "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": 10016, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55068:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10017, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55068:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10023, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55068:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10015, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "55052:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55052:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10025, + "nodeType": "ExpressionStatement", + "src": "55052:89:16" + } + ] + }, + "id": 10027, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "54982:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10013, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10006, + "mutability": "mutable", + "name": "p0", + "nameLocation": "54994:2:16", + "nodeType": "VariableDeclaration", + "scope": 10027, + "src": "54986:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10005, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "54986:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10008, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55012:2:16", + "nodeType": "VariableDeclaration", + "scope": 10027, + "src": "54998:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10007, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "54998:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10010, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55021:2:16", + "nodeType": "VariableDeclaration", + "scope": 10027, + "src": "55016:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10009, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55016:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10012, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55030:2:16", + "nodeType": "VariableDeclaration", + "scope": 10027, + "src": "55025:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10011, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "55025:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "54985:48:16" + }, + "returnParameters": { + "id": 10014, + "nodeType": "ParameterList", + "parameters": [], + "src": "55048:0:16" + }, + "scope": 10925, + "src": "54973:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10049, + "nodeType": "Block", + "src": "55232:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c737472696e6729", + "id": 10041, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55276:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_bc0b61fe9497b47eb6a51a5a6a4bf26b32ddcbc9407ccae8cc7de64b3e3d84cc", + "typeString": "literal_string \"log(address,string,bool,string)\"" + }, + "value": "log(address,string,bool,string)" + }, + { + "id": 10042, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10029, + "src": "55311:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10043, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10031, + "src": "55315:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10044, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10033, + "src": "55319:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10045, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10035, + "src": "55323:2:16", + "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": 10039, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55252:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10040, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55252:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10046, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55252:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10038, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "55236:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10047, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55236:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10048, + "nodeType": "ExpressionStatement", + "src": "55236:91:16" + } + ] + }, + "id": 10050, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55157:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10036, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10029, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55169:2:16", + "nodeType": "VariableDeclaration", + "scope": 10050, + "src": "55161:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10028, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55161:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10031, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55187:2:16", + "nodeType": "VariableDeclaration", + "scope": 10050, + "src": "55173:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10030, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55173:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10033, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55196:2:16", + "nodeType": "VariableDeclaration", + "scope": 10050, + "src": "55191:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10032, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55191:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10035, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55214:2:16", + "nodeType": "VariableDeclaration", + "scope": 10050, + "src": "55200:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10034, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55200:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "55160:57:16" + }, + "returnParameters": { + "id": 10037, + "nodeType": "ParameterList", + "parameters": [], + "src": "55232:0:16" + }, + "scope": 10925, + "src": "55148:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10072, + "nodeType": "Block", + "src": "55409:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c626f6f6c29", + "id": 10064, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55453:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5f1d5c9f0de8c048364058d1d6842804ada33dbc34bf9eaff8f2be978f384e08", + "typeString": "literal_string \"log(address,string,bool,bool)\"" + }, + "value": "log(address,string,bool,bool)" + }, + { + "id": 10065, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10052, + "src": "55486:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10066, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10054, + "src": "55490:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10067, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10056, + "src": "55494:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10068, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10058, + "src": "55498:2:16", + "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": 10062, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55429:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10063, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55429:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10069, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55429:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10061, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "55413:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10070, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55413:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10071, + "nodeType": "ExpressionStatement", + "src": "55413:89:16" + } + ] + }, + "id": 10073, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55343:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10059, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10052, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55355:2:16", + "nodeType": "VariableDeclaration", + "scope": 10073, + "src": "55347:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10051, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55347:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10054, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55373:2:16", + "nodeType": "VariableDeclaration", + "scope": 10073, + "src": "55359:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10053, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55359:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10056, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55382:2:16", + "nodeType": "VariableDeclaration", + "scope": 10073, + "src": "55377:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10055, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55377:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10058, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55391:2:16", + "nodeType": "VariableDeclaration", + "scope": 10073, + "src": "55386:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10057, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55386:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "55346:48:16" + }, + "returnParameters": { + "id": 10060, + "nodeType": "ParameterList", + "parameters": [], + "src": "55409:0:16" + }, + "scope": 10925, + "src": "55334:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10095, + "nodeType": "Block", + "src": "55587:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c626f6f6c2c6164647265737329", + "id": 10087, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55631:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_205871c2f2d320acdd350939b5fc035cc20b1a9cc058fb26f1c9fb3d2ba59970", + "typeString": "literal_string \"log(address,string,bool,address)\"" + }, + "value": "log(address,string,bool,address)" + }, + { + "id": 10088, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10075, + "src": "55667:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10089, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10077, + "src": "55671:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10090, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10079, + "src": "55675:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10091, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10081, + "src": "55679:2:16", + "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": 10085, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55607:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10086, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55607:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10092, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55607:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10084, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "55591:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55591:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10094, + "nodeType": "ExpressionStatement", + "src": "55591:92:16" + } + ] + }, + "id": 10096, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55518:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10082, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10075, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55530:2:16", + "nodeType": "VariableDeclaration", + "scope": 10096, + "src": "55522:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10074, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55522:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10077, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55548:2:16", + "nodeType": "VariableDeclaration", + "scope": 10096, + "src": "55534:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10076, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55534:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10079, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55557:2:16", + "nodeType": "VariableDeclaration", + "scope": 10096, + "src": "55552:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10078, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "55552:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10081, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55569:2:16", + "nodeType": "VariableDeclaration", + "scope": 10096, + "src": "55561:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10080, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55561:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "55521:51:16" + }, + "returnParameters": { + "id": 10083, + "nodeType": "ParameterList", + "parameters": [], + "src": "55587:0:16" + }, + "scope": 10925, + "src": "55509:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10118, + "nodeType": "Block", + "src": "55768:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c75696e7429", + "id": 10110, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "55812:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8c1933a9a9c61e3dc8d3ebdfa929712b21dab3dcf7188e7d35cbf8aaaf476582", + "typeString": "literal_string \"log(address,string,address,uint)\"" + }, + "value": "log(address,string,address,uint)" + }, + { + "id": 10111, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10098, + "src": "55848:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10112, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10100, + "src": "55852:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10113, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10102, + "src": "55856:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10114, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10104, + "src": "55860:2:16", + "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": 10108, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55788:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10109, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55788:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10115, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55788:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10107, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "55772:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55772:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10117, + "nodeType": "ExpressionStatement", + "src": "55772:92:16" + } + ] + }, + "id": 10119, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55699:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10105, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10098, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55711:2:16", + "nodeType": "VariableDeclaration", + "scope": 10119, + "src": "55703:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10097, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55703:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10100, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55729:2:16", + "nodeType": "VariableDeclaration", + "scope": 10119, + "src": "55715:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10099, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55715:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10102, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55741:2:16", + "nodeType": "VariableDeclaration", + "scope": 10119, + "src": "55733:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10101, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55733:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10104, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55750:2:16", + "nodeType": "VariableDeclaration", + "scope": 10119, + "src": "55745:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10103, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "55745:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "55702:51:16" + }, + "returnParameters": { + "id": 10106, + "nodeType": "ParameterList", + "parameters": [], + "src": "55768:0:16" + }, + "scope": 10925, + "src": "55690:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10141, + "nodeType": "Block", + "src": "55958:102:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c737472696e6729", + "id": 10133, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56002:36:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f7e3624510fc5618feb98a49f5d4404e3749dacbdc916c267fea7b2051a08dea", + "typeString": "literal_string \"log(address,string,address,string)\"" + }, + "value": "log(address,string,address,string)" + }, + { + "id": 10134, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10121, + "src": "56040:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10135, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10123, + "src": "56044:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10136, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10125, + "src": "56048:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10137, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10127, + "src": "56052:2:16", + "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": 10131, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "55978:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10132, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "55978:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10138, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55978:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10130, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "55962:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10139, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "55962:94:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10140, + "nodeType": "ExpressionStatement", + "src": "55962:94:16" + } + ] + }, + "id": 10142, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "55880:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10121, + "mutability": "mutable", + "name": "p0", + "nameLocation": "55892:2:16", + "nodeType": "VariableDeclaration", + "scope": 10142, + "src": "55884:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10120, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55884:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10123, + "mutability": "mutable", + "name": "p1", + "nameLocation": "55910:2:16", + "nodeType": "VariableDeclaration", + "scope": 10142, + "src": "55896:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10122, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55896:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10125, + "mutability": "mutable", + "name": "p2", + "nameLocation": "55922:2:16", + "nodeType": "VariableDeclaration", + "scope": 10142, + "src": "55914:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10124, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "55914:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10127, + "mutability": "mutable", + "name": "p3", + "nameLocation": "55940:2:16", + "nodeType": "VariableDeclaration", + "scope": 10142, + "src": "55926:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10126, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "55926:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "55883:60:16" + }, + "returnParameters": { + "id": 10129, + "nodeType": "ParameterList", + "parameters": [], + "src": "55958:0:16" + }, + "scope": 10925, + "src": "55871:189:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10164, + "nodeType": "Block", + "src": "56141:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c626f6f6c29", + "id": 10156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56185:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0df12b7620e0bad204ac79fe9930fef9b9a40702161764a681594d50d657b081", + "typeString": "literal_string \"log(address,string,address,bool)\"" + }, + "value": "log(address,string,address,bool)" + }, + { + "id": 10157, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10144, + "src": "56221:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10158, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10146, + "src": "56225:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10159, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10148, + "src": "56229:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10160, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10150, + "src": "56233:2:16", + "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": 10154, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56161:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10155, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56161:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "56161:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10153, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "56145:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "56145:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10163, + "nodeType": "ExpressionStatement", + "src": "56145:92:16" + } + ] + }, + "id": 10165, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56072:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10151, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10144, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56084:2:16", + "nodeType": "VariableDeclaration", + "scope": 10165, + "src": "56076:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56076:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10146, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56102:2:16", + "nodeType": "VariableDeclaration", + "scope": 10165, + "src": "56088:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10145, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "56088:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10148, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56114:2:16", + "nodeType": "VariableDeclaration", + "scope": 10165, + "src": "56106:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10147, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56106:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10150, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56123:2:16", + "nodeType": "VariableDeclaration", + "scope": 10165, + "src": "56118:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10149, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56118:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "56075:51:16" + }, + "returnParameters": { + "id": 10152, + "nodeType": "ParameterList", + "parameters": [], + "src": "56141:0:16" + }, + "scope": 10925, + "src": "56063:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10187, + "nodeType": "Block", + "src": "56325:103:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c737472696e672c616464726573732c6164647265737329", + "id": 10179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56369:37:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0d36fa2022fafb45586a59914be3ad4c57b76e89535385dcff89c28c80605121", + "typeString": "literal_string \"log(address,string,address,address)\"" + }, + "value": "log(address,string,address,address)" + }, + { + "id": 10180, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10167, + "src": "56408:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10181, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10169, + "src": "56412:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10182, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10171, + "src": "56416:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10183, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10173, + "src": "56420:2:16", + "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": 10177, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56345:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10178, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56345:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "56345:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10176, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "56329:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10185, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "56329:95:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10186, + "nodeType": "ExpressionStatement", + "src": "56329:95:16" + } + ] + }, + "id": 10188, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56253:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10174, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10167, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56265:2:16", + "nodeType": "VariableDeclaration", + "scope": 10188, + "src": "56257:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10166, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56257:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10169, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56283:2:16", + "nodeType": "VariableDeclaration", + "scope": 10188, + "src": "56269:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10168, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "56269:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10171, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56295:2:16", + "nodeType": "VariableDeclaration", + "scope": 10188, + "src": "56287:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10170, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56287:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10173, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56307:2:16", + "nodeType": "VariableDeclaration", + "scope": 10188, + "src": "56299:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10172, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56299:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "56256:54:16" + }, + "returnParameters": { + "id": 10175, + "nodeType": "ParameterList", + "parameters": [], + "src": "56325:0:16" + }, + "scope": 10925, + "src": "56244:184:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10210, + "nodeType": "Block", + "src": "56497:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c75696e7429", + "id": 10202, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56541:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c210a01e60a7d88137859e75abc2d14430087408747ac6787f0acb2f0f8bfd59", + "typeString": "literal_string \"log(address,bool,uint,uint)\"" + }, + "value": "log(address,bool,uint,uint)" + }, + { + "id": 10203, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10190, + "src": "56572:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10204, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10192, + "src": "56576:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10205, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10194, + "src": "56580:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10206, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10196, + "src": "56584:2:16", + "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": 10200, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56517:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10201, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56517:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10207, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "56517:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10199, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "56501:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10208, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "56501:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10209, + "nodeType": "ExpressionStatement", + "src": "56501:87:16" + } + ] + }, + "id": 10211, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56440:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10197, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10190, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56452:2:16", + "nodeType": "VariableDeclaration", + "scope": 10211, + "src": "56444:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10189, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56444:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10192, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56461:2:16", + "nodeType": "VariableDeclaration", + "scope": 10211, + "src": "56456:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10191, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56456:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10194, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56470:2:16", + "nodeType": "VariableDeclaration", + "scope": 10211, + "src": "56465:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10193, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56465:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10196, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56479:2:16", + "nodeType": "VariableDeclaration", + "scope": 10211, + "src": "56474:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10195, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56474:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "56443:39:16" + }, + "returnParameters": { + "id": 10198, + "nodeType": "ParameterList", + "parameters": [], + "src": "56497:0:16" + }, + "scope": 10925, + "src": "56431:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10233, + "nodeType": "Block", + "src": "56670:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c737472696e6729", + "id": 10225, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56714:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9b588eccef132ec49572951d33e9b0d1b814d54c82133831f78cdc5d923bc6e6", + "typeString": "literal_string \"log(address,bool,uint,string)\"" + }, + "value": "log(address,bool,uint,string)" + }, + { + "id": 10226, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10213, + "src": "56747:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10227, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10215, + "src": "56751:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10228, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10217, + "src": "56755:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10229, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10219, + "src": "56759:2:16", + "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": 10223, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56690:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10224, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56690:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "56690:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10222, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "56674:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10231, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "56674:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10232, + "nodeType": "ExpressionStatement", + "src": "56674:89:16" + } + ] + }, + "id": 10234, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56604:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10220, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10213, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56616:2:16", + "nodeType": "VariableDeclaration", + "scope": 10234, + "src": "56608:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10212, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56608:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10215, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56625:2:16", + "nodeType": "VariableDeclaration", + "scope": 10234, + "src": "56620:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10214, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56620:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10217, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56634:2:16", + "nodeType": "VariableDeclaration", + "scope": 10234, + "src": "56629:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10216, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56629:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10219, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56652:2:16", + "nodeType": "VariableDeclaration", + "scope": 10234, + "src": "56638:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10218, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "56638:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "56607:48:16" + }, + "returnParameters": { + "id": 10221, + "nodeType": "ParameterList", + "parameters": [], + "src": "56670:0:16" + }, + "scope": 10925, + "src": "56595:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10256, + "nodeType": "Block", + "src": "56836:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c626f6f6c29", + "id": 10248, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "56880:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_85cdc5af22f2a2b52749c228b5bc379bac815d0d3575c2899b6657bce00fab33", + "typeString": "literal_string \"log(address,bool,uint,bool)\"" + }, + "value": "log(address,bool,uint,bool)" + }, + { + "id": 10249, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10236, + "src": "56911:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10250, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10238, + "src": "56915:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10251, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10240, + "src": "56919:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10252, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10242, + "src": "56923:2:16", + "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": 10246, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "56856:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10247, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "56856:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "56856:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10245, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "56840:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10254, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "56840:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10255, + "nodeType": "ExpressionStatement", + "src": "56840:87:16" + } + ] + }, + "id": 10257, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56779:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10243, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10236, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56791:2:16", + "nodeType": "VariableDeclaration", + "scope": 10257, + "src": "56783:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10235, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56783:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10238, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56800:2:16", + "nodeType": "VariableDeclaration", + "scope": 10257, + "src": "56795:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10237, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56795:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10240, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56809:2:16", + "nodeType": "VariableDeclaration", + "scope": 10257, + "src": "56804:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10239, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56804:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10242, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56818:2:16", + "nodeType": "VariableDeclaration", + "scope": 10257, + "src": "56813:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10241, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56813:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "56782:39:16" + }, + "returnParameters": { + "id": 10244, + "nodeType": "ParameterList", + "parameters": [], + "src": "56836:0:16" + }, + "scope": 10925, + "src": "56770:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10279, + "nodeType": "Block", + "src": "57003:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c75696e742c6164647265737329", + "id": 10271, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57047:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0d8ce61ee7d058fd1e588343a35fb1aff71b8e7f74d553220d0e20088cb908bf", + "typeString": "literal_string \"log(address,bool,uint,address)\"" + }, + "value": "log(address,bool,uint,address)" + }, + { + "id": 10272, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10259, + "src": "57081:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10273, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10261, + "src": "57085:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10274, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10263, + "src": "57089:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10275, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10265, + "src": "57093:2:16", + "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": 10269, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57023:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10270, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57023:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57023:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10268, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "57007:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57007:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10278, + "nodeType": "ExpressionStatement", + "src": "57007:90:16" + } + ] + }, + "id": 10280, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "56943:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10266, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10259, + "mutability": "mutable", + "name": "p0", + "nameLocation": "56955:2:16", + "nodeType": "VariableDeclaration", + "scope": 10280, + "src": "56947:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10258, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56947:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10261, + "mutability": "mutable", + "name": "p1", + "nameLocation": "56964:2:16", + "nodeType": "VariableDeclaration", + "scope": 10280, + "src": "56959:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10260, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "56959:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10263, + "mutability": "mutable", + "name": "p2", + "nameLocation": "56973:2:16", + "nodeType": "VariableDeclaration", + "scope": 10280, + "src": "56968:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10262, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "56968:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10265, + "mutability": "mutable", + "name": "p3", + "nameLocation": "56985:2:16", + "nodeType": "VariableDeclaration", + "scope": 10280, + "src": "56977:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10264, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "56977:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "56946:42:16" + }, + "returnParameters": { + "id": 10267, + "nodeType": "ParameterList", + "parameters": [], + "src": "57003:0:16" + }, + "scope": 10925, + "src": "56934:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10302, + "nodeType": "Block", + "src": "57179:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c75696e7429", + "id": 10294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57223:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9e127b6e4348bc33b3ea7f05f6479d3e1b1fe2b3727e1f4ba94b6a36e7abac9b", + "typeString": "literal_string \"log(address,bool,string,uint)\"" + }, + "value": "log(address,bool,string,uint)" + }, + { + "id": 10295, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10282, + "src": "57256:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10296, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10284, + "src": "57260:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10297, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10286, + "src": "57264:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10298, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10288, + "src": "57268:2:16", + "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": 10292, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57199:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10293, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57199:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10299, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57199:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10291, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "57183:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10300, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57183:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10301, + "nodeType": "ExpressionStatement", + "src": "57183:89:16" + } + ] + }, + "id": 10303, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57113:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10289, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10282, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57125:2:16", + "nodeType": "VariableDeclaration", + "scope": 10303, + "src": "57117:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10281, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57117:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10284, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57134:2:16", + "nodeType": "VariableDeclaration", + "scope": 10303, + "src": "57129:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10283, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "57129:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10286, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57152:2:16", + "nodeType": "VariableDeclaration", + "scope": 10303, + "src": "57138:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10285, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57138:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10288, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57161:2:16", + "nodeType": "VariableDeclaration", + "scope": 10303, + "src": "57156:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10287, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "57156:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "57116:48:16" + }, + "returnParameters": { + "id": 10290, + "nodeType": "ParameterList", + "parameters": [], + "src": "57179:0:16" + }, + "scope": 10925, + "src": "57104:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10325, + "nodeType": "Block", + "src": "57363:99:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c737472696e6729", + "id": 10317, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57407:33:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_475c5c33f91155b7a0e86c9fac7985c60ab58f4bfb411ee9b31d994a7fc95d1f", + "typeString": "literal_string \"log(address,bool,string,string)\"" + }, + "value": "log(address,bool,string,string)" + }, + { + "id": 10318, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10305, + "src": "57442:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10319, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10307, + "src": "57446:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10320, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10309, + "src": "57450:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10321, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10311, + "src": "57454:2:16", + "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": 10315, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57383:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10316, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57383:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10322, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57383:74:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10314, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "57367:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10323, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57367:91:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10324, + "nodeType": "ExpressionStatement", + "src": "57367:91:16" + } + ] + }, + "id": 10326, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57288:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10312, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10305, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57300:2:16", + "nodeType": "VariableDeclaration", + "scope": 10326, + "src": "57292:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10304, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57292:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10307, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57309:2:16", + "nodeType": "VariableDeclaration", + "scope": 10326, + "src": "57304:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10306, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "57304:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10309, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57327:2:16", + "nodeType": "VariableDeclaration", + "scope": 10326, + "src": "57313:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10308, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57313:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10311, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57345:2:16", + "nodeType": "VariableDeclaration", + "scope": 10326, + "src": "57331:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10310, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57331:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "57291:57:16" + }, + "returnParameters": { + "id": 10313, + "nodeType": "ParameterList", + "parameters": [], + "src": "57363:0:16" + }, + "scope": 10925, + "src": "57279:183:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10348, + "nodeType": "Block", + "src": "57540:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c626f6f6c29", + "id": 10340, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57584:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_50ad461db24803fc9b2ba76f072192e0a4d8fbb3667a50c400f504443380890f", + "typeString": "literal_string \"log(address,bool,string,bool)\"" + }, + "value": "log(address,bool,string,bool)" + }, + { + "id": 10341, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10328, + "src": "57617:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10342, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10330, + "src": "57621:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10343, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10332, + "src": "57625:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10344, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10334, + "src": "57629:2:16", + "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": 10338, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57560:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10339, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57560:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10345, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57560:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10337, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "57544:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10346, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57544:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10347, + "nodeType": "ExpressionStatement", + "src": "57544:89:16" + } + ] + }, + "id": 10349, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57474:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10335, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10328, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57486:2:16", + "nodeType": "VariableDeclaration", + "scope": 10349, + "src": "57478:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10327, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57478:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10330, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57495:2:16", + "nodeType": "VariableDeclaration", + "scope": 10349, + "src": "57490:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10329, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "57490:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10332, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57513:2:16", + "nodeType": "VariableDeclaration", + "scope": 10349, + "src": "57499:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10331, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57499:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10334, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57522:2:16", + "nodeType": "VariableDeclaration", + "scope": 10349, + "src": "57517:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10333, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "57517:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "57477:48:16" + }, + "returnParameters": { + "id": 10336, + "nodeType": "ParameterList", + "parameters": [], + "src": "57540:0:16" + }, + "scope": 10925, + "src": "57465:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10371, + "nodeType": "Block", + "src": "57718:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c737472696e672c6164647265737329", + "id": 10363, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57762:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_19fd495659df511498cf8dde03672830bd109ef2d9b9bec18e72190917c328bc", + "typeString": "literal_string \"log(address,bool,string,address)\"" + }, + "value": "log(address,bool,string,address)" + }, + { + "id": 10364, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10351, + "src": "57798:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10365, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10353, + "src": "57802:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10366, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10355, + "src": "57806:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10367, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10357, + "src": "57810:2:16", + "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": 10361, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57738:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10362, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57738:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10368, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57738:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10360, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "57722:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10369, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57722:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10370, + "nodeType": "ExpressionStatement", + "src": "57722:92:16" + } + ] + }, + "id": 10372, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57649:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10358, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10351, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57661:2:16", + "nodeType": "VariableDeclaration", + "scope": 10372, + "src": "57653:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10350, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57653:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10353, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57670:2:16", + "nodeType": "VariableDeclaration", + "scope": 10372, + "src": "57665:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10352, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "57665:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10355, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57688:2:16", + "nodeType": "VariableDeclaration", + "scope": 10372, + "src": "57674:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10354, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "57674:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10357, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57700:2:16", + "nodeType": "VariableDeclaration", + "scope": 10372, + "src": "57692:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10356, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57692:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "57652:51:16" + }, + "returnParameters": { + "id": 10359, + "nodeType": "ParameterList", + "parameters": [], + "src": "57718:0:16" + }, + "scope": 10925, + "src": "57640:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10394, + "nodeType": "Block", + "src": "57887:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c75696e7429", + "id": 10386, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "57931:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cfb587569c9e063cd7daed07e27d9193980aad24c48787cb6531c47fa694e463", + "typeString": "literal_string \"log(address,bool,bool,uint)\"" + }, + "value": "log(address,bool,bool,uint)" + }, + { + "id": 10387, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10374, + "src": "57962:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10388, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10376, + "src": "57966:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10389, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10378, + "src": "57970:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10390, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10380, + "src": "57974:2:16", + "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": 10384, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "57907:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10385, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "57907:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10391, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57907:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10383, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "57891:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10392, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "57891:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10393, + "nodeType": "ExpressionStatement", + "src": "57891:87:16" + } + ] + }, + "id": 10395, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57830:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10381, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10374, + "mutability": "mutable", + "name": "p0", + "nameLocation": "57842:2:16", + "nodeType": "VariableDeclaration", + "scope": 10395, + "src": "57834:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10373, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57834:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10376, + "mutability": "mutable", + "name": "p1", + "nameLocation": "57851:2:16", + "nodeType": "VariableDeclaration", + "scope": 10395, + "src": "57846:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10375, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "57846:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10378, + "mutability": "mutable", + "name": "p2", + "nameLocation": "57860:2:16", + "nodeType": "VariableDeclaration", + "scope": 10395, + "src": "57855:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10377, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "57855:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10380, + "mutability": "mutable", + "name": "p3", + "nameLocation": "57869:2:16", + "nodeType": "VariableDeclaration", + "scope": 10395, + "src": "57864:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10379, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "57864:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "57833:39:16" + }, + "returnParameters": { + "id": 10382, + "nodeType": "ParameterList", + "parameters": [], + "src": "57887:0:16" + }, + "scope": 10925, + "src": "57821:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10417, + "nodeType": "Block", + "src": "58060:97:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c737472696e6729", + "id": 10409, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58104:31:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dfc4a2e8c56809b44edbbc6d92d0a8441e551ad5387596bf8b629c56d9a91300", + "typeString": "literal_string \"log(address,bool,bool,string)\"" + }, + "value": "log(address,bool,bool,string)" + }, + { + "id": 10410, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10397, + "src": "58137:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10411, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10399, + "src": "58141:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10412, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10401, + "src": "58145:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10413, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10403, + "src": "58149:2:16", + "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": 10407, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58080:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10408, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58080:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10414, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58080:72:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10406, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "58064:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10415, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58064:89:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10416, + "nodeType": "ExpressionStatement", + "src": "58064:89:16" + } + ] + }, + "id": 10418, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "57994:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10404, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10397, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58006:2:16", + "nodeType": "VariableDeclaration", + "scope": 10418, + "src": "57998:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10396, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "57998:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10399, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58015:2:16", + "nodeType": "VariableDeclaration", + "scope": 10418, + "src": "58010:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10398, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58010:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10401, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58024:2:16", + "nodeType": "VariableDeclaration", + "scope": 10418, + "src": "58019:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10400, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58019:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10403, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58042:2:16", + "nodeType": "VariableDeclaration", + "scope": 10418, + "src": "58028:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10402, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58028:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "57997:48:16" + }, + "returnParameters": { + "id": 10405, + "nodeType": "ParameterList", + "parameters": [], + "src": "58060:0:16" + }, + "scope": 10925, + "src": "57985:172:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10440, + "nodeType": "Block", + "src": "58226:95:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c626f6f6c29", + "id": 10432, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58270:29:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cac434792b973db16714db96d2aeda353b2253f27255abe42b9960b2dc550634", + "typeString": "literal_string \"log(address,bool,bool,bool)\"" + }, + "value": "log(address,bool,bool,bool)" + }, + { + "id": 10433, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10420, + "src": "58301:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10434, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10422, + "src": "58305:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10435, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10424, + "src": "58309:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10436, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10426, + "src": "58313:2:16", + "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": 10430, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58246:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10431, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58246:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10437, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58246:70:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10429, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "58230:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10438, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58230:87:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10439, + "nodeType": "ExpressionStatement", + "src": "58230:87:16" + } + ] + }, + "id": 10441, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58169:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10427, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10420, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58181:2:16", + "nodeType": "VariableDeclaration", + "scope": 10441, + "src": "58173:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10419, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58173:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10422, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58190:2:16", + "nodeType": "VariableDeclaration", + "scope": 10441, + "src": "58185:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10421, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58185:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10424, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58199:2:16", + "nodeType": "VariableDeclaration", + "scope": 10441, + "src": "58194:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10423, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58194:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10426, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58208:2:16", + "nodeType": "VariableDeclaration", + "scope": 10441, + "src": "58203:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10425, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58203:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "58172:39:16" + }, + "returnParameters": { + "id": 10428, + "nodeType": "ParameterList", + "parameters": [], + "src": "58226:0:16" + }, + "scope": 10925, + "src": "58160:161:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10463, + "nodeType": "Block", + "src": "58393:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c626f6f6c2c6164647265737329", + "id": 10455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58437:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cf394485abbd1f04b85b0f2c1a2cfc07e3d51c1c6f28386bf16d9e45161e8953", + "typeString": "literal_string \"log(address,bool,bool,address)\"" + }, + "value": "log(address,bool,bool,address)" + }, + { + "id": 10456, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10443, + "src": "58471:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10457, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10445, + "src": "58475:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10458, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10447, + "src": "58479:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10459, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10449, + "src": "58483:2:16", + "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": 10453, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58413:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58413:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58413:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10452, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "58397:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10461, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58397:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10462, + "nodeType": "ExpressionStatement", + "src": "58397:90:16" + } + ] + }, + "id": 10464, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58333:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10450, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10443, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58345:2:16", + "nodeType": "VariableDeclaration", + "scope": 10464, + "src": "58337:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10442, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58337:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10445, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58354:2:16", + "nodeType": "VariableDeclaration", + "scope": 10464, + "src": "58349:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10444, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58349:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10447, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58363:2:16", + "nodeType": "VariableDeclaration", + "scope": 10464, + "src": "58358:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10446, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58358:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10449, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58375:2:16", + "nodeType": "VariableDeclaration", + "scope": 10464, + "src": "58367:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10448, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58367:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "58336:42:16" + }, + "returnParameters": { + "id": 10451, + "nodeType": "ParameterList", + "parameters": [], + "src": "58393:0:16" + }, + "scope": 10925, + "src": "58324:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10486, + "nodeType": "Block", + "src": "58563:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c75696e7429", + "id": 10478, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58607:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_dc7116d2e67ccd625262e6814a6f82f2367beea9919409c81fcbb94bea1b6b84", + "typeString": "literal_string \"log(address,bool,address,uint)\"" + }, + "value": "log(address,bool,address,uint)" + }, + { + "id": 10479, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10466, + "src": "58641:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10480, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10468, + "src": "58645:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10481, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10470, + "src": "58649:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10482, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10472, + "src": "58653:2:16", + "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": 10476, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58583:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10477, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58583:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10483, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58583:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10475, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "58567:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10484, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58567:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10485, + "nodeType": "ExpressionStatement", + "src": "58567:90:16" + } + ] + }, + "id": 10487, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58503:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10473, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10466, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58515:2:16", + "nodeType": "VariableDeclaration", + "scope": 10487, + "src": "58507:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10465, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58507:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10468, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58524:2:16", + "nodeType": "VariableDeclaration", + "scope": 10487, + "src": "58519:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10467, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58519:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10470, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58536:2:16", + "nodeType": "VariableDeclaration", + "scope": 10487, + "src": "58528:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10469, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58528:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10472, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58545:2:16", + "nodeType": "VariableDeclaration", + "scope": 10487, + "src": "58540:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10471, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "58540:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "58506:42:16" + }, + "returnParameters": { + "id": 10474, + "nodeType": "ParameterList", + "parameters": [], + "src": "58563:0:16" + }, + "scope": 10925, + "src": "58494:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10509, + "nodeType": "Block", + "src": "58742:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c737472696e6729", + "id": 10501, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58786:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2dd778e616be9386b5911da1a074bbaf979640681783fca6396ea75c8caf6453", + "typeString": "literal_string \"log(address,bool,address,string)\"" + }, + "value": "log(address,bool,address,string)" + }, + { + "id": 10502, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10489, + "src": "58822:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10503, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10491, + "src": "58826:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10504, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10493, + "src": "58830:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10505, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10495, + "src": "58834:2:16", + "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": 10499, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58762:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10500, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58762:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10506, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58762:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10498, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "58746:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10507, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58746:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10508, + "nodeType": "ExpressionStatement", + "src": "58746:92:16" + } + ] + }, + "id": 10510, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58673:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10496, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10489, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58685:2:16", + "nodeType": "VariableDeclaration", + "scope": 10510, + "src": "58677:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10488, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58677:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10491, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58694:2:16", + "nodeType": "VariableDeclaration", + "scope": 10510, + "src": "58689:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10490, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58689:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10493, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58706:2:16", + "nodeType": "VariableDeclaration", + "scope": 10510, + "src": "58698:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10492, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58698:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10495, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58724:2:16", + "nodeType": "VariableDeclaration", + "scope": 10510, + "src": "58710:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10494, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "58710:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "58676:51:16" + }, + "returnParameters": { + "id": 10497, + "nodeType": "ParameterList", + "parameters": [], + "src": "58742:0:16" + }, + "scope": 10925, + "src": "58664:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10532, + "nodeType": "Block", + "src": "58914:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c626f6f6c29", + "id": 10524, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "58958:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a6f50b0f122c916fe81861751b94bdddb5e453947768e8af206397bb510790b1", + "typeString": "literal_string \"log(address,bool,address,bool)\"" + }, + "value": "log(address,bool,address,bool)" + }, + { + "id": 10525, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10512, + "src": "58992:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10526, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10514, + "src": "58996:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10527, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10516, + "src": "59000:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10528, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10518, + "src": "59004:2:16", + "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": 10522, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "58934:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10523, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "58934:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10529, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58934:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10521, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "58918:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10530, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "58918:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10531, + "nodeType": "ExpressionStatement", + "src": "58918:90:16" + } + ] + }, + "id": 10533, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "58854:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10519, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10512, + "mutability": "mutable", + "name": "p0", + "nameLocation": "58866:2:16", + "nodeType": "VariableDeclaration", + "scope": 10533, + "src": "58858:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10511, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58858:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10514, + "mutability": "mutable", + "name": "p1", + "nameLocation": "58875:2:16", + "nodeType": "VariableDeclaration", + "scope": 10533, + "src": "58870:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10513, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58870:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10516, + "mutability": "mutable", + "name": "p2", + "nameLocation": "58887:2:16", + "nodeType": "VariableDeclaration", + "scope": 10533, + "src": "58879:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10515, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "58879:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10518, + "mutability": "mutable", + "name": "p3", + "nameLocation": "58896:2:16", + "nodeType": "VariableDeclaration", + "scope": 10533, + "src": "58891:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10517, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "58891:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "58857:42:16" + }, + "returnParameters": { + "id": 10520, + "nodeType": "ParameterList", + "parameters": [], + "src": "58914:0:16" + }, + "scope": 10925, + "src": "58845:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10555, + "nodeType": "Block", + "src": "59087:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c626f6f6c2c616464726573732c6164647265737329", + "id": 10547, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59131:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_660375ddb58761b4ce952ec7e1ae63efe9f8e9e69831fd72875968fec9046e35", + "typeString": "literal_string \"log(address,bool,address,address)\"" + }, + "value": "log(address,bool,address,address)" + }, + { + "id": 10548, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10535, + "src": "59168:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10549, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10537, + "src": "59172:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10550, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10539, + "src": "59176:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10551, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10541, + "src": "59180:2:16", + "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": 10545, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59107:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10546, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59107:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10552, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59107:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10544, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "59091:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59091:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10554, + "nodeType": "ExpressionStatement", + "src": "59091:93:16" + } + ] + }, + "id": 10556, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59024:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10542, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10535, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59036:2:16", + "nodeType": "VariableDeclaration", + "scope": 10556, + "src": "59028:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10534, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59028:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10537, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59045:2:16", + "nodeType": "VariableDeclaration", + "scope": 10556, + "src": "59040:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10536, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "59040:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10539, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59057:2:16", + "nodeType": "VariableDeclaration", + "scope": 10556, + "src": "59049:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10538, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59049:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10541, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59069:2:16", + "nodeType": "VariableDeclaration", + "scope": 10556, + "src": "59061:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10540, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59061:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "59027:45:16" + }, + "returnParameters": { + "id": 10543, + "nodeType": "ParameterList", + "parameters": [], + "src": "59087:0:16" + }, + "scope": 10925, + "src": "59015:173:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10578, + "nodeType": "Block", + "src": "59260:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c75696e7429", + "id": 10570, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59304:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_54fdf3e4fb94f9bebc9a1c60d5b71090f9817e68730b5af20b69dff283044ed6", + "typeString": "literal_string \"log(address,address,uint,uint)\"" + }, + "value": "log(address,address,uint,uint)" + }, + { + "id": 10571, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10558, + "src": "59338:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10572, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10560, + "src": "59342:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10573, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10562, + "src": "59346:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10574, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10564, + "src": "59350:2:16", + "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": 10568, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59280:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10569, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59280:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10575, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59280:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10567, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "59264:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10576, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59264:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10577, + "nodeType": "ExpressionStatement", + "src": "59264:90:16" + } + ] + }, + "id": 10579, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59200:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10565, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10558, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59212:2:16", + "nodeType": "VariableDeclaration", + "scope": 10579, + "src": "59204:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10557, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59204:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10560, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59224:2:16", + "nodeType": "VariableDeclaration", + "scope": 10579, + "src": "59216:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10559, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59216:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10562, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59233:2:16", + "nodeType": "VariableDeclaration", + "scope": 10579, + "src": "59228:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10561, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "59228:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10564, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59242:2:16", + "nodeType": "VariableDeclaration", + "scope": 10579, + "src": "59237:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10563, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "59237:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "59203:42:16" + }, + "returnParameters": { + "id": 10566, + "nodeType": "ParameterList", + "parameters": [], + "src": "59260:0:16" + }, + "scope": 10925, + "src": "59191:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10601, + "nodeType": "Block", + "src": "59439:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c737472696e6729", + "id": 10593, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59483:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9dd12eadc51edb79b050f95e9310706b305e500a52025b74b024df3cbcb53815", + "typeString": "literal_string \"log(address,address,uint,string)\"" + }, + "value": "log(address,address,uint,string)" + }, + { + "id": 10594, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10581, + "src": "59519:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10595, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10583, + "src": "59523:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10596, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10585, + "src": "59527:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10597, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10587, + "src": "59531:2:16", + "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": 10591, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59459:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10592, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59459:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10598, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59459:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10590, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "59443:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10599, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59443:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10600, + "nodeType": "ExpressionStatement", + "src": "59443:92:16" + } + ] + }, + "id": 10602, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59370:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10588, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10581, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59382:2:16", + "nodeType": "VariableDeclaration", + "scope": 10602, + "src": "59374:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10580, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59374:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10583, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59394:2:16", + "nodeType": "VariableDeclaration", + "scope": 10602, + "src": "59386:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10582, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59386:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10585, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59403:2:16", + "nodeType": "VariableDeclaration", + "scope": 10602, + "src": "59398:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10584, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "59398:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10587, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59421:2:16", + "nodeType": "VariableDeclaration", + "scope": 10602, + "src": "59407:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10586, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "59407:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "59373:51:16" + }, + "returnParameters": { + "id": 10589, + "nodeType": "ParameterList", + "parameters": [], + "src": "59439:0:16" + }, + "scope": 10925, + "src": "59361:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10624, + "nodeType": "Block", + "src": "59611:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c626f6f6c29", + "id": 10616, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59655:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_c2f688eccc5824e4375e54ae0df7ae9f757b0758319e26fa7dcc6a4450e1d411", + "typeString": "literal_string \"log(address,address,uint,bool)\"" + }, + "value": "log(address,address,uint,bool)" + }, + { + "id": 10617, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10604, + "src": "59689:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10618, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10606, + "src": "59693:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10619, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10608, + "src": "59697:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10620, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10610, + "src": "59701:2:16", + "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": 10614, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59631:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10615, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59631:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10621, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59631:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10613, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "59615:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10622, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59615:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10623, + "nodeType": "ExpressionStatement", + "src": "59615:90:16" + } + ] + }, + "id": 10625, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59551:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10611, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10604, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59563:2:16", + "nodeType": "VariableDeclaration", + "scope": 10625, + "src": "59555:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10603, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59555:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10606, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59575:2:16", + "nodeType": "VariableDeclaration", + "scope": 10625, + "src": "59567:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10605, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59567:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10608, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59584:2:16", + "nodeType": "VariableDeclaration", + "scope": 10625, + "src": "59579:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10607, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "59579:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10610, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59593:2:16", + "nodeType": "VariableDeclaration", + "scope": 10625, + "src": "59588:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10609, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "59588:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "59554:42:16" + }, + "returnParameters": { + "id": 10612, + "nodeType": "ParameterList", + "parameters": [], + "src": "59611:0:16" + }, + "scope": 10925, + "src": "59542:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10647, + "nodeType": "Block", + "src": "59784:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c75696e742c6164647265737329", + "id": 10639, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "59828:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_d6c65276d9b81968c5dbc7d91412af8260979b88b9036d81153645629a214556", + "typeString": "literal_string \"log(address,address,uint,address)\"" + }, + "value": "log(address,address,uint,address)" + }, + { + "id": 10640, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10627, + "src": "59865:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10641, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10629, + "src": "59869:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10642, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10631, + "src": "59873:2:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 10643, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10633, + "src": "59877:2:16", + "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": 10637, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59804:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10638, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59804:23:16", + "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": "59804:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10636, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "59788:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10645, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59788:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10646, + "nodeType": "ExpressionStatement", + "src": "59788:93:16" + } + ] + }, + "id": 10648, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59721:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10627, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59733:2:16", + "nodeType": "VariableDeclaration", + "scope": 10648, + "src": "59725:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10626, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59725:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10629, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59745:2:16", + "nodeType": "VariableDeclaration", + "scope": 10648, + "src": "59737:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10628, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59737:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10631, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59754:2:16", + "nodeType": "VariableDeclaration", + "scope": 10648, + "src": "59749:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10630, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "59749:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10633, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59766:2:16", + "nodeType": "VariableDeclaration", + "scope": 10648, + "src": "59758:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10632, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59758:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "59724:45:16" + }, + "returnParameters": { + "id": 10635, + "nodeType": "ParameterList", + "parameters": [], + "src": "59784:0:16" + }, + "scope": 10925, + "src": "59712:173:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10670, + "nodeType": "Block", + "src": "59966:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c75696e7429", + "id": 10662, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60010:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04289300eaed00bb9d0d7894f7439ff06a8c4040945c0625e94f6f0c87fb11ba", + "typeString": "literal_string \"log(address,address,string,uint)\"" + }, + "value": "log(address,address,string,uint)" + }, + { + "id": 10663, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10650, + "src": "60046:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10664, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10652, + "src": "60050:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10665, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10654, + "src": "60054:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10666, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10656, + "src": "60058:2:16", + "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": 10660, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "59986:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10661, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "59986:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10667, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59986:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10659, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "59970:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10668, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "59970:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10669, + "nodeType": "ExpressionStatement", + "src": "59970:92:16" + } + ] + }, + "id": 10671, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "59897:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10657, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10650, + "mutability": "mutable", + "name": "p0", + "nameLocation": "59909:2:16", + "nodeType": "VariableDeclaration", + "scope": 10671, + "src": "59901:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10649, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59901:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10652, + "mutability": "mutable", + "name": "p1", + "nameLocation": "59921:2:16", + "nodeType": "VariableDeclaration", + "scope": 10671, + "src": "59913:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10651, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "59913:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10654, + "mutability": "mutable", + "name": "p2", + "nameLocation": "59939:2:16", + "nodeType": "VariableDeclaration", + "scope": 10671, + "src": "59925:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10653, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "59925:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10656, + "mutability": "mutable", + "name": "p3", + "nameLocation": "59948:2:16", + "nodeType": "VariableDeclaration", + "scope": 10671, + "src": "59943:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10655, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "59943:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "59900:51:16" + }, + "returnParameters": { + "id": 10658, + "nodeType": "ParameterList", + "parameters": [], + "src": "59966:0:16" + }, + "scope": 10925, + "src": "59888:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10693, + "nodeType": "Block", + "src": "60156:102:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c737472696e6729", + "id": 10685, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60200:36:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_21bdaf25c85279ffda21e4e2b9f685ff585c62a37c0ebe7ae25670fd06df3aa1", + "typeString": "literal_string \"log(address,address,string,string)\"" + }, + "value": "log(address,address,string,string)" + }, + { + "id": 10686, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10673, + "src": "60238:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10687, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10675, + "src": "60242:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10688, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10677, + "src": "60246:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10689, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10679, + "src": "60250:2:16", + "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": 10683, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60176:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10684, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60176:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10690, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "60176:77:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10682, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "60160:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10691, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "60160:94:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10692, + "nodeType": "ExpressionStatement", + "src": "60160:94:16" + } + ] + }, + "id": 10694, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60078:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10673, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60090:2:16", + "nodeType": "VariableDeclaration", + "scope": 10694, + "src": "60082:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10672, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60082:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10675, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60102:2:16", + "nodeType": "VariableDeclaration", + "scope": 10694, + "src": "60094:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10674, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60094:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10677, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60120:2:16", + "nodeType": "VariableDeclaration", + "scope": 10694, + "src": "60106:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10676, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60106:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10679, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60138:2:16", + "nodeType": "VariableDeclaration", + "scope": 10694, + "src": "60124:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10678, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60124:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "60081:60:16" + }, + "returnParameters": { + "id": 10681, + "nodeType": "ParameterList", + "parameters": [], + "src": "60156:0:16" + }, + "scope": 10925, + "src": "60069:189:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10716, + "nodeType": "Block", + "src": "60339:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c626f6f6c29", + "id": 10708, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60383:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6f1a594e70810560eaae5bbc82bc991f1120ac326ec142f6fb212682169447fd", + "typeString": "literal_string \"log(address,address,string,bool)\"" + }, + "value": "log(address,address,string,bool)" + }, + { + "id": 10709, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10696, + "src": "60419:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10710, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10698, + "src": "60423:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10711, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10700, + "src": "60427:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10712, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10702, + "src": "60431:2:16", + "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": 10706, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60359:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10707, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60359:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10713, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "60359:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10705, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "60343:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10714, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "60343:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10715, + "nodeType": "ExpressionStatement", + "src": "60343:92:16" + } + ] + }, + "id": 10717, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60270:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10703, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10696, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60282:2:16", + "nodeType": "VariableDeclaration", + "scope": 10717, + "src": "60274:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10695, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60274:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10698, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60294:2:16", + "nodeType": "VariableDeclaration", + "scope": 10717, + "src": "60286:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10697, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60286:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10700, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60312:2:16", + "nodeType": "VariableDeclaration", + "scope": 10717, + "src": "60298:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10699, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60298:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10702, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60321:2:16", + "nodeType": "VariableDeclaration", + "scope": 10717, + "src": "60316:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10701, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "60316:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "60273:51:16" + }, + "returnParameters": { + "id": 10704, + "nodeType": "ParameterList", + "parameters": [], + "src": "60339:0:16" + }, + "scope": 10925, + "src": "60261:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10739, + "nodeType": "Block", + "src": "60523:103:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c737472696e672c6164647265737329", + "id": 10731, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60567:37:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8f736d1685010d3a1ac02ed96109cdd5141fd92077c14203bc63442ad9b6a687", + "typeString": "literal_string \"log(address,address,string,address)\"" + }, + "value": "log(address,address,string,address)" + }, + { + "id": 10732, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10719, + "src": "60606:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10733, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10721, + "src": "60610:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10734, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10723, + "src": "60614:2:16", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "id": 10735, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10725, + "src": "60618:2:16", + "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": 10729, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60543:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10730, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60543:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10736, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "60543:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10728, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "60527:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10737, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "60527:95:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10738, + "nodeType": "ExpressionStatement", + "src": "60527:95:16" + } + ] + }, + "id": 10740, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60451:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10719, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60463:2:16", + "nodeType": "VariableDeclaration", + "scope": 10740, + "src": "60455:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10718, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60455:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10721, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60475:2:16", + "nodeType": "VariableDeclaration", + "scope": 10740, + "src": "60467:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10720, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60467:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10723, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60493:2:16", + "nodeType": "VariableDeclaration", + "scope": 10740, + "src": "60479:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10722, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60479:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10725, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60505:2:16", + "nodeType": "VariableDeclaration", + "scope": 10740, + "src": "60497:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10724, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60497:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "60454:54:16" + }, + "returnParameters": { + "id": 10727, + "nodeType": "ParameterList", + "parameters": [], + "src": "60523:0:16" + }, + "scope": 10925, + "src": "60442:184:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10762, + "nodeType": "Block", + "src": "60698:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c75696e7429", + "id": 10754, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60742:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_95d65f110e4042ee84d162cfc6d17a44c2f2784259e33c97679d21e7a95a841e", + "typeString": "literal_string \"log(address,address,bool,uint)\"" + }, + "value": "log(address,address,bool,uint)" + }, + { + "id": 10755, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10742, + "src": "60776:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10756, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10744, + "src": "60780:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10757, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10746, + "src": "60784:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10758, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10748, + "src": "60788:2:16", + "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": 10752, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60718:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10753, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60718:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10759, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "60718:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10751, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "60702:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10760, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "60702:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10761, + "nodeType": "ExpressionStatement", + "src": "60702:90:16" + } + ] + }, + "id": 10763, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60638:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10749, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10742, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60650:2:16", + "nodeType": "VariableDeclaration", + "scope": 10763, + "src": "60642:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10741, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60642:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10744, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60662:2:16", + "nodeType": "VariableDeclaration", + "scope": 10763, + "src": "60654:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10743, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60654:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10746, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60671:2:16", + "nodeType": "VariableDeclaration", + "scope": 10763, + "src": "60666:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10745, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "60666:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10748, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60680:2:16", + "nodeType": "VariableDeclaration", + "scope": 10763, + "src": "60675:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10747, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "60675:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "60641:42:16" + }, + "returnParameters": { + "id": 10750, + "nodeType": "ParameterList", + "parameters": [], + "src": "60698:0:16" + }, + "scope": 10925, + "src": "60629:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10785, + "nodeType": "Block", + "src": "60877:100:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c737472696e6729", + "id": 10777, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "60921:34:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_aa6540c8e9a40f69e022e01a14ab22c94aae4999f1d7a246236f464d7c933b88", + "typeString": "literal_string \"log(address,address,bool,string)\"" + }, + "value": "log(address,address,bool,string)" + }, + { + "id": 10778, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10765, + "src": "60957:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10779, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10767, + "src": "60961:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10780, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10769, + "src": "60965:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10781, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10771, + "src": "60969:2:16", + "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": 10775, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "60897:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10776, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "60897:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10782, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "60897:75:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10774, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "60881:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10783, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "60881:92:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10784, + "nodeType": "ExpressionStatement", + "src": "60881:92:16" + } + ] + }, + "id": 10786, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60808:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10772, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10765, + "mutability": "mutable", + "name": "p0", + "nameLocation": "60820:2:16", + "nodeType": "VariableDeclaration", + "scope": 10786, + "src": "60812:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10764, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60812:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10767, + "mutability": "mutable", + "name": "p1", + "nameLocation": "60832:2:16", + "nodeType": "VariableDeclaration", + "scope": 10786, + "src": "60824:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10766, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60824:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10769, + "mutability": "mutable", + "name": "p2", + "nameLocation": "60841:2:16", + "nodeType": "VariableDeclaration", + "scope": 10786, + "src": "60836:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10768, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "60836:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10771, + "mutability": "mutable", + "name": "p3", + "nameLocation": "60859:2:16", + "nodeType": "VariableDeclaration", + "scope": 10786, + "src": "60845:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10770, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "60845:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "60811:51:16" + }, + "returnParameters": { + "id": 10773, + "nodeType": "ParameterList", + "parameters": [], + "src": "60877:0:16" + }, + "scope": 10925, + "src": "60799:178:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10808, + "nodeType": "Block", + "src": "61049:98:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c626f6f6c29", + "id": 10800, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61093:32:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_2cd4134aedbc2cd722f2b9715dc3acb74b16b253590361dd98a4d6cb66119b65", + "typeString": "literal_string \"log(address,address,bool,bool)\"" + }, + "value": "log(address,address,bool,bool)" + }, + { + "id": 10801, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10788, + "src": "61127:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10802, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10790, + "src": "61131:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10803, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10792, + "src": "61135:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10804, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10794, + "src": "61139:2:16", + "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": 10798, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61069:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10799, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61069:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10805, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61069:73:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10797, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "61053:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61053:90:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10807, + "nodeType": "ExpressionStatement", + "src": "61053:90:16" + } + ] + }, + "id": 10809, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "60989:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10795, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10788, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61001:2:16", + "nodeType": "VariableDeclaration", + "scope": 10809, + "src": "60993:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10787, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "60993:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10790, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61013:2:16", + "nodeType": "VariableDeclaration", + "scope": 10809, + "src": "61005:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10789, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61005:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10792, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61022:2:16", + "nodeType": "VariableDeclaration", + "scope": 10809, + "src": "61017:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10791, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61017:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10794, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61031:2:16", + "nodeType": "VariableDeclaration", + "scope": 10809, + "src": "61026:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10793, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61026:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "60992:42:16" + }, + "returnParameters": { + "id": 10796, + "nodeType": "ParameterList", + "parameters": [], + "src": "61049:0:16" + }, + "scope": 10925, + "src": "60980:167:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10831, + "nodeType": "Block", + "src": "61222:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c626f6f6c2c6164647265737329", + "id": 10823, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61266:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9f1bc36e6c1a1385bfe3a230338e478ee5447b81d25d35962aff021b2c578b9c", + "typeString": "literal_string \"log(address,address,bool,address)\"" + }, + "value": "log(address,address,bool,address)" + }, + { + "id": 10824, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10811, + "src": "61303:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10825, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10813, + "src": "61307:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10826, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10815, + "src": "61311:2:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "id": 10827, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10817, + "src": "61315:2:16", + "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": 10821, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61242:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10822, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61242:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61242:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10820, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "61226:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10829, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61226:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10830, + "nodeType": "ExpressionStatement", + "src": "61226:93:16" + } + ] + }, + "id": 10832, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61159:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10818, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10811, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61171:2:16", + "nodeType": "VariableDeclaration", + "scope": 10832, + "src": "61163:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10810, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61163:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10813, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61183:2:16", + "nodeType": "VariableDeclaration", + "scope": 10832, + "src": "61175:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10812, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61175:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10815, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61192:2:16", + "nodeType": "VariableDeclaration", + "scope": 10832, + "src": "61187:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10814, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61187:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10817, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61204:2:16", + "nodeType": "VariableDeclaration", + "scope": 10832, + "src": "61196:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10816, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61196:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "61162:45:16" + }, + "returnParameters": { + "id": 10819, + "nodeType": "ParameterList", + "parameters": [], + "src": "61222:0:16" + }, + "scope": 10925, + "src": "61150:173:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10854, + "nodeType": "Block", + "src": "61398:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c75696e7429", + "id": 10846, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61442:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_ed5eac8706392442fff9f76d5de4d50b9cc22387f3f19d447470771094406028", + "typeString": "literal_string \"log(address,address,address,uint)\"" + }, + "value": "log(address,address,address,uint)" + }, + { + "id": 10847, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10834, + "src": "61479:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10848, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10836, + "src": "61483:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10849, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10838, + "src": "61487:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10850, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10840, + "src": "61491:2:16", + "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": 10844, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61418:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10845, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61418:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10851, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61418:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10843, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "61402:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10852, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61402:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10853, + "nodeType": "ExpressionStatement", + "src": "61402:93:16" + } + ] + }, + "id": 10855, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61335:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10841, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10834, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61347:2:16", + "nodeType": "VariableDeclaration", + "scope": 10855, + "src": "61339:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10833, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61339:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10836, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61359:2:16", + "nodeType": "VariableDeclaration", + "scope": 10855, + "src": "61351:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10835, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61351:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10838, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61371:2:16", + "nodeType": "VariableDeclaration", + "scope": 10855, + "src": "61363:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10837, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61363:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10840, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61380:2:16", + "nodeType": "VariableDeclaration", + "scope": 10855, + "src": "61375:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 10839, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "61375:4:16", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "61338:45:16" + }, + "returnParameters": { + "id": 10842, + "nodeType": "ParameterList", + "parameters": [], + "src": "61398:0:16" + }, + "scope": 10925, + "src": "61326:173:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10877, + "nodeType": "Block", + "src": "61583:103:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c737472696e6729", + "id": 10869, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61627:37:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f808da2086fed855c3e15d9dbfed3b17a93ed9a59947aae6ab05b7e18576f025", + "typeString": "literal_string \"log(address,address,address,string)\"" + }, + "value": "log(address,address,address,string)" + }, + { + "id": 10870, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10857, + "src": "61666:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10871, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10859, + "src": "61670:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10872, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10861, + "src": "61674:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10873, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10863, + "src": "61678:2:16", + "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": 10867, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61603:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10868, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61603:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61603:78:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10866, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "61587:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10875, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61587:95:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10876, + "nodeType": "ExpressionStatement", + "src": "61587:95:16" + } + ] + }, + "id": 10878, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61511:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10864, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10857, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61523:2:16", + "nodeType": "VariableDeclaration", + "scope": 10878, + "src": "61515:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61515:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10859, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61535:2:16", + "nodeType": "VariableDeclaration", + "scope": 10878, + "src": "61527:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10858, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61527:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10861, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61547:2:16", + "nodeType": "VariableDeclaration", + "scope": 10878, + "src": "61539:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10860, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61539:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10863, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61565:2:16", + "nodeType": "VariableDeclaration", + "scope": 10878, + "src": "61551:16:16", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 10862, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "61551:6:16", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "61514:54:16" + }, + "returnParameters": { + "id": 10865, + "nodeType": "ParameterList", + "parameters": [], + "src": "61583:0:16" + }, + "scope": 10925, + "src": "61502:184:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10900, + "nodeType": "Block", + "src": "61761:101:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c626f6f6c29", + "id": 10892, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61805:35:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_0e378994a4cd2663acfd73a7ad4e09d196e4fb7ee05b7cdf0708eb30271e2afb", + "typeString": "literal_string \"log(address,address,address,bool)\"" + }, + "value": "log(address,address,address,bool)" + }, + { + "id": 10893, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10880, + "src": "61842:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10894, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10882, + "src": "61846:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10895, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10884, + "src": "61850:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10896, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10886, + "src": "61854:2:16", + "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": 10890, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61781:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10891, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61781:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10897, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61781:76:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10889, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "61765:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61765:93:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10899, + "nodeType": "ExpressionStatement", + "src": "61765:93:16" + } + ] + }, + "id": 10901, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61698:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10887, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10880, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61710:2:16", + "nodeType": "VariableDeclaration", + "scope": 10901, + "src": "61702:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10879, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61702:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10882, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61722:2:16", + "nodeType": "VariableDeclaration", + "scope": 10901, + "src": "61714:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10881, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61714:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10884, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61734:2:16", + "nodeType": "VariableDeclaration", + "scope": 10901, + "src": "61726:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10883, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61726:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10886, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61743:2:16", + "nodeType": "VariableDeclaration", + "scope": 10901, + "src": "61738:7:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 10885, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "61738:4:16", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "61701:45:16" + }, + "returnParameters": { + "id": 10888, + "nodeType": "ParameterList", + "parameters": [], + "src": "61761:0:16" + }, + "scope": 10925, + "src": "61689:173:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 10923, + "nodeType": "Block", + "src": "61940:104:16", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "6c6f6728616464726573732c616464726573732c616464726573732c6164647265737329", + "id": 10915, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "61984:38:16", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_665bf1345e006aa321c0b6b71bed55ce0d6cdd812632f8c43114f62c55ffa0b5", + "typeString": "literal_string \"log(address,address,address,address)\"" + }, + "value": "log(address,address,address,address)" + }, + { + "id": 10916, + "name": "p0", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10903, + "src": "62024:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10917, + "name": "p1", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10905, + "src": "62028:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10918, + "name": "p2", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10907, + "src": "62032:2:16", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 10919, + "name": "p3", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 10909, + "src": "62036:2:16", + "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": 10913, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "61960:3:16", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 10914, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodeWithSignature", + "nodeType": "MemberAccess", + "src": "61960:23:16", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodewithsignature_pure$_t_string_memory_ptr_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (string memory) pure returns (bytes memory)" + } + }, + "id": 10920, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61960:79:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 10912, + "name": "_sendLogPayload", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2885, + "src": "61944:15:16", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes_memory_ptr_$returns$__$", + "typeString": "function (bytes memory) view" + } + }, + "id": 10921, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "61944:96:16", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 10922, + "nodeType": "ExpressionStatement", + "src": "61944:96:16" + } + ] + }, + "id": 10924, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "log", + "nameLocation": "61874:3:16", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 10910, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 10903, + "mutability": "mutable", + "name": "p0", + "nameLocation": "61886:2:16", + "nodeType": "VariableDeclaration", + "scope": 10924, + "src": "61878:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10902, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61878:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10905, + "mutability": "mutable", + "name": "p1", + "nameLocation": "61898:2:16", + "nodeType": "VariableDeclaration", + "scope": 10924, + "src": "61890:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61890:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10907, + "mutability": "mutable", + "name": "p2", + "nameLocation": "61910:2:16", + "nodeType": "VariableDeclaration", + "scope": 10924, + "src": "61902:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10906, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61902:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 10909, + "mutability": "mutable", + "name": "p3", + "nameLocation": "61922:2:16", + "nodeType": "VariableDeclaration", + "scope": 10924, + "src": "61914:10:16", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 10908, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "61914:7:16", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "61877:48:16" + }, + "returnParameters": { + "id": 10911, + "nodeType": "ParameterList", + "parameters": [], + "src": "61940:0:16" + }, + "scope": 10925, + "src": "61865:179:16", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 10926, + "src": "67:61980:16", + "usedErrors": [] + } + ], + "src": "32:62016:16" + }, + "id": 16 + } + } + } +} diff --git a/artifacts/build-info/f42d57aac6ed3196556d7cfa4097447d.json b/artifacts/build-info/f42d57aac6ed3196556d7cfa4097447d.json new file mode 100644 index 0000000..8aa55d4 --- /dev/null +++ b/artifacts/build-info/f42d57aac6ed3196556d7cfa4097447d.json @@ -0,0 +1,58131 @@ +{ + "id": "f42d57aac6ed3196556d7cfa4097447d", + "_format": "hh-sol-build-info-1", + "solcVersion": "0.8.4", + "solcLongVersion": "0.8.4+commit.c7e474f2", + "input": { + "language": "Solidity", + "sources": { + "contracts/Union.sol": { + "content": "//SPDX-License-Identifier: MIT\n\n\n// We can look at Governor.sol from OZ, but we need to simply implement off-chain voting by tg api, so we should look at snapshot mechanism\n\n\n\npragma solidity ^0.8.0;\n\n//import \"hardhat/console.sol\";\n\n// direct imports -- use it for compile contracts and webapp\n\nimport \"@openzeppelin/contracts/access/Ownable.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\";\nimport \"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\";\nimport \"@openzeppelin/contracts/utils/Counters.sol\";\nimport \"@openzeppelin/contracts/access/AccessControl.sol\";\n\n\n// relative imports (for building ABI and go) -- use it for build\n/*\nimport \"../node_modules/@openzeppelin/contracts/access/Ownable.sol\";\nimport \"../node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol\";\nimport \"../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\";\nimport \"../node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\";\nimport \"../node_modules/@openzeppelin/contracts/utils/Counters.sol\";\n*/\n\n\nimport \"./TGPassport.sol\";\n\ncontract Union is Ownable, AccessControl {\n\n using Counters for Counters.Counter;\n\n uint private _passportFee;\n address private _owner = owner();\n address private murs = 0x383A9e83E36796106EaC11E8c2Fbe8b92Ff46D3a;\n\n bytes4 private constant _INTERFACE_ID_IERC721ENUMERABLE = 0x780e9d63;\n\n bytes32 public constant moderator = keccak256(\"moderator\");\n \n\n // events\n event ApplicationForJoin(int64 chat_id, int64 applier_id,address multy_wallet_address,VotingType vote_type, address voting_token_address, string group_name);\n event ApplicationForJoinIndexed(int64 indexed chat_id, int64 applier_id,address multy_wallet_address,VotingType vote_type, address voting_token_address, string group_name);\n event ApprovedJoin(int chat_id,address multy_wallet_address,VotingType vote_type, address voting_token_address, string group_name);\n event DeclinedApplication(int chat_id,address multy_wallet_address,VotingType vote_type, address voting_token_address, string group_name);\n\n\n\n //\n enum VotingType {erc20, erc20Votes, erc721 }\n\n\n // Meta information about dao\n struct DAO {\n address chatOwnerAddress;\n int64 tgId;\n bool valid;\n address multisigAddress;\n VotingType votingType;\n address votingToken;\n string group_name;\n }\n\n\n\n // set passport contract address\n constructor(address passportContract_){\n _passportContract = passportContract_;\n tgpassport = TGPassport(passportContract_);\n // console.logBytes32(moderator);\n _grantRole(DEFAULT_ADMIN_ROLE,msg.sender);\n _grantRole(moderator,msg.sender);\n\n // console.logBool(flag);\n _grantRole(moderator,murs);\n \n // console.logBool(flag2);\n\n }\n\n // TODO: import Multisig contract, make sure we map tgid to multisig contract, not address!\n mapping (int64 => address) public daoAddresses;\n\n int64[] public Chat_id_array;\n\n Counters.Counter dao_count;\n\n // mapping from multisig address to attached meta-info\n mapping(address => DAO) public daos;\n\n address private _passportContract;\n TGPassport public tgpassport;\n\n \n\n /** This function suggest applying for union for any dao\n * REQUIREMENTS:\n * 1.dao should have it's multisig address\n * 2.owner of multisig must be registred in Passport contract with it's personal tg_id\n * 3. this tg_id must be equal to tgid of appling chat admin.\n * Last check can be done only by oracle\n * @param applyerTg -- tgid of user who sent apply\n * @param daoTg -- tgid of chat\n * @param dao_ -- multisig address\n * @param votingType_ -- represents voting token's type: 0=erc20 1=erc20Snapshot 2=erc721\n * @param dao_name_ -- string name of group chat. can be uses as a link (if link is https://t.me/eth_ru then name is @eth_ru)\n */\n function ApplyForUnion (int64 applyerTg, int64 daoTg, address dao_, VotingType votingType_, address votingTokenContract_, string memory dao_name_) public payable {\n // TODO: add require for check if dao is a gnosis safe multisig! (check support interface?)\n // require(...)\n \n // add passport and owner check\n address daoOwner = tgpassport.GetPassportWalletByID(applyerTg);\n require(daoOwner == msg.sender,\"User did not registred in TGP\");\n\n require(daoAddresses[daoTg] == address(0x0), \"this chat tgid already taken\");\n daoAddresses[daoTg] = dao_; \n bool checkStandard = _checkStandardVotingToken(votingType_, votingTokenContract_);\n require(checkStandard == true,\"Contract does not match with corresponding type\");\n\n _passportFee = tgpassport.GetPassportFee();\n daos[dao_] = DAO(msg.sender, daoTg, false, dao_, votingType_, votingTokenContract_, dao_name_);\n (bool feePaid,) = _owner.call{value: _passportFee}(\"\"); \n require(feePaid, \"Unable to transfer fee\");\n require (msg.value == _passportFee, \"Passport fee is not paid\");\n emit ApplicationForJoin(daoTg,applyerTg,dao_,votingType_,votingTokenContract_, dao_name_);\n emit ApplicationForJoinIndexed(daoTg,applyerTg,dao_,votingType_,votingTokenContract_, dao_name_);\n }\n\n\n \n /**\n * @dev This function intended to be used by bot, cause only bot can check if tg id of multisig owner is eqal of tg id of chat admin\n * @param daoAddress address of multisig wallet\n */\n function ApproveJoin(address daoAddress) public onlyRole(moderator) {\n DAO memory org = daos[daoAddress];\n require(org.valid == false, \"already has been approved OR didn't applied at all\");\n org.valid = true;\n daos[daoAddress] = org;\n dao_count.increment();\n Chat_id_array.push(org.tgId);\n emit ApprovedJoin(org.tgId,org.multisigAddress,org.votingType,org.votingToken, org.group_name);\n }\n\n /**\n * @dev function for decline join (for erase unvalid data as example)\n * @param daoAddress address of multisig\n */\n function DeclineJoin(address daoAddress) public onlyRole(moderator) {\n DAO memory org = daos[daoAddress];\n require(org.valid == false, \"already has been approved OR didn't applied at all\");\n delete daos[daoAddress];\n delete daoAddresses[org.tgId];\n // daoAddresses[org.tgId] = address(0x0);\n emit DeclinedApplication(org.tgId,org.multisigAddress,org.votingType,org.votingToken, org.group_name);\n }\n\n\n /**\n * @dev internal function to check interface id of voting token contract\n */\n function _checkStandardVotingToken(VotingType votingType_, address votingTokenContract_) internal view returns (bool success) {\n if (votingType_ == VotingType.erc721) {\n (success) = IERC721Enumerable(votingTokenContract_).\n supportsInterface(_INTERFACE_ID_IERC721ENUMERABLE);\n return success;\n }\n if (votingType_ == VotingType.erc20) {\n // TODO: check this. decimals of standard token should be equal 18. Probably remove this check\n (success) = IERC20Metadata(votingTokenContract_).decimals() == 18;\n }\n // TODO: add check for snapshot\n\n }\n\n\n /**\n * @dev get multisig address by tgid of chat\n */\n function getDaoAddressbyChatId(int64 chat_id) public view returns (address) {\n address dao = daoAddresses[chat_id];\n return dao;\n }\n\n\n function getDaoCount() public view returns (uint256) {\n return dao_count.current();\n }\n\n function getModeratorIdentifier() public pure returns (bytes32) {\n return moderator;\n }\n\n}" + }, + "@openzeppelin/contracts/access/Ownable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/Ownable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../utils/Context.sol\";\n\n/**\n * @dev Contract module which provides a basic access control mechanism, where\n * there is an account (an owner) that can be granted exclusive access to\n * specific functions.\n *\n * By default, the owner account will be the one that deploys the contract. This\n * can later be changed with {transferOwnership}.\n *\n * This module is used through inheritance. It will make available the modifier\n * `onlyOwner`, which can be applied to your functions to restrict their use to\n * the owner.\n */\nabstract contract Ownable is Context {\n address private _owner;\n\n event OwnershipTransferred(address indexed previousOwner, address indexed newOwner);\n\n /**\n * @dev Initializes the contract setting the deployer as the initial owner.\n */\n constructor() {\n _transferOwnership(_msgSender());\n }\n\n /**\n * @dev Returns the address of the current owner.\n */\n function owner() public view virtual returns (address) {\n return _owner;\n }\n\n /**\n * @dev Throws if called by any account other than the owner.\n */\n modifier onlyOwner() {\n require(owner() == _msgSender(), \"Ownable: caller is not the owner\");\n _;\n }\n\n /**\n * @dev Leaves the contract without owner. It will not be possible to call\n * `onlyOwner` functions anymore. Can only be called by the current owner.\n *\n * NOTE: Renouncing ownership will leave the contract without an owner,\n * thereby removing any functionality that is only available to the owner.\n */\n function renounceOwnership() public virtual onlyOwner {\n _transferOwnership(address(0));\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Can only be called by the current owner.\n */\n function transferOwnership(address newOwner) public virtual onlyOwner {\n require(newOwner != address(0), \"Ownable: new owner is the zero address\");\n _transferOwnership(newOwner);\n }\n\n /**\n * @dev Transfers ownership of the contract to a new account (`newOwner`).\n * Internal function without access restriction.\n */\n function _transferOwnership(address newOwner) internal virtual {\n address oldOwner = _owner;\n _owner = newOwner;\n emit OwnershipTransferred(oldOwner, newOwner);\n }\n}\n" + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC20/IERC20.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC20 standard as defined in the EIP.\n */\ninterface IERC20 {\n /**\n * @dev Returns the amount of tokens in existence.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns the amount of tokens owned by `account`.\n */\n function balanceOf(address account) external view returns (uint256);\n\n /**\n * @dev Moves `amount` 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 amount) 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 `amount` as the allowance of `spender` over the 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 amount) external returns (bool);\n\n /**\n * @dev Moves `amount` tokens from `from` to `to` using the\n * allowance mechanism. `amount` 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(\n address from,\n address to,\n uint256 amount\n ) external returns (bool);\n\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" + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC20/extensions/IERC20Metadata.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC20.sol\";\n\n/**\n * @dev Interface for the optional metadata functions from the ERC20 standard.\n *\n * _Available since v4.1._\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" + }, + "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (token/ERC721/extensions/IERC721Enumerable.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../IERC721.sol\";\n\n/**\n * @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n * @dev See https://eips.ethereum.org/EIPS/eip-721\n */\ninterface IERC721Enumerable is IERC721 {\n /**\n * @dev Returns the total amount of tokens stored by the contract.\n */\n function totalSupply() external view returns (uint256);\n\n /**\n * @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n * Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\n */\n function tokenOfOwnerByIndex(address owner, uint256 index) external view returns (uint256);\n\n /**\n * @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n * Use along with {totalSupply} to enumerate all tokens.\n */\n function tokenByIndex(uint256 index) external view returns (uint256);\n}\n" + }, + "@openzeppelin/contracts/utils/Counters.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Counters.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @title Counters\n * @author Matt Condon (@shrugs)\n * @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n * of elements in a mapping, issuing ERC721 ids, or counting request ids.\n *\n * Include with `using Counters for Counters.Counter;`\n */\nlibrary Counters {\n struct Counter {\n // This variable should never be directly accessed by users of the library: interactions must be restricted to\n // the library's function. As of Solidity v0.5.2, this cannot be enforced, though there is a proposal to add\n // this feature: see https://github.com/ethereum/solidity/issues/4637\n uint256 _value; // default: 0\n }\n\n function current(Counter storage counter) internal view returns (uint256) {\n return counter._value;\n }\n\n function increment(Counter storage counter) internal {\n unchecked {\n counter._value += 1;\n }\n }\n\n function decrement(Counter storage counter) internal {\n uint256 value = counter._value;\n require(value > 0, \"Counter: decrement overflow\");\n unchecked {\n counter._value = value - 1;\n }\n }\n\n function reset(Counter storage counter) internal {\n counter._value = 0;\n }\n}\n" + }, + "@openzeppelin/contracts/access/AccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts (last updated v4.5.0) (access/AccessControl.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IAccessControl.sol\";\nimport \"../utils/Context.sol\";\nimport \"../utils/Strings.sol\";\nimport \"../utils/introspection/ERC165.sol\";\n\n/**\n * @dev Contract module that allows children to implement role-based access\n * control mechanisms. This is a lightweight version that doesn't allow enumerating role\n * members except through off-chain means by accessing the contract event logs. Some\n * applications may benefit from on-chain enumerability, for those cases see\n * {AccessControlEnumerable}.\n *\n * Roles are referred to by their `bytes32` identifier. These should be exposed\n * in the external API and be unique. The best way to achieve this is by\n * using `public constant` hash digests:\n *\n * ```\n * bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n * ```\n *\n * Roles can be used to represent a set of permissions. To restrict access to a\n * function call, use {hasRole}:\n *\n * ```\n * function foo() public {\n * require(hasRole(MY_ROLE, msg.sender));\n * ...\n * }\n * ```\n *\n * Roles can be granted and revoked dynamically via the {grantRole} and\n * {revokeRole} functions. Each role has an associated admin role, and only\n * accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n *\n * By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n * that only accounts with this role will be able to grant or revoke other\n * roles. More complex role relationships can be created by using\n * {_setRoleAdmin}.\n *\n * WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n * grant and revoke this role. Extra precautions should be taken to secure\n * accounts that have been granted it.\n */\nabstract contract AccessControl is Context, IAccessControl, ERC165 {\n struct RoleData {\n mapping(address => bool) members;\n bytes32 adminRole;\n }\n\n mapping(bytes32 => RoleData) private _roles;\n\n bytes32 public constant DEFAULT_ADMIN_ROLE = 0x00;\n\n /**\n * @dev Modifier that checks that an account has a specific role. Reverts\n * with a standardized message including the required role.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n *\n * _Available since v4.1._\n */\n modifier onlyRole(bytes32 role) {\n _checkRole(role, _msgSender());\n _;\n }\n\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IAccessControl).interfaceId || super.supportsInterface(interfaceId);\n }\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) public view virtual override returns (bool) {\n return _roles[role].members[account];\n }\n\n /**\n * @dev Revert with a standard message if `account` is missing `role`.\n *\n * The format of the revert reason is given by the following regular expression:\n *\n * /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n */\n function _checkRole(bytes32 role, address account) internal view virtual {\n if (!hasRole(role, account)) {\n revert(\n string(\n abi.encodePacked(\n \"AccessControl: account \",\n Strings.toHexString(uint160(account), 20),\n \" is missing role \",\n Strings.toHexString(uint256(role), 32)\n )\n )\n );\n }\n }\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) public view virtual override returns (bytes32) {\n return _roles[role].adminRole;\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _grantRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) public virtual override onlyRole(getRoleAdmin(role)) {\n _revokeRole(role, account);\n }\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been revoked `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) public virtual override {\n require(account == _msgSender(), \"AccessControl: can only renounce roles for self\");\n\n _revokeRole(role, account);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event. Note that unlike {grantRole}, this function doesn't perform any\n * checks on the calling account.\n *\n * [WARNING]\n * ====\n * This function should only be called from the constructor when setting\n * up the initial roles for the system.\n *\n * Using this function in any other way is effectively circumventing the admin\n * system imposed by {AccessControl}.\n * ====\n *\n * NOTE: This function is deprecated in favor of {_grantRole}.\n */\n function _setupRole(bytes32 role, address account) internal virtual {\n _grantRole(role, account);\n }\n\n /**\n * @dev Sets `adminRole` as ``role``'s admin role.\n *\n * Emits a {RoleAdminChanged} event.\n */\n function _setRoleAdmin(bytes32 role, bytes32 adminRole) internal virtual {\n bytes32 previousAdminRole = getRoleAdmin(role);\n _roles[role].adminRole = adminRole;\n emit RoleAdminChanged(role, previousAdminRole, adminRole);\n }\n\n /**\n * @dev Grants `role` to `account`.\n *\n * Internal function without access restriction.\n */\n function _grantRole(bytes32 role, address account) internal virtual {\n if (!hasRole(role, account)) {\n _roles[role].members[account] = true;\n emit RoleGranted(role, account, _msgSender());\n }\n }\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * Internal function without access restriction.\n */\n function _revokeRole(bytes32 role, address account) internal virtual {\n if (hasRole(role, account)) {\n _roles[role].members[account] = false;\n emit RoleRevoked(role, account, _msgSender());\n }\n }\n}\n" + }, + "contracts/TGPassport.sol": { + "content": "//SPDX-License-Identifier: MIT\npragma solidity ^0.8.0;\n\n//import \"hardhat/console.sol\";\nimport \"@openzeppelin/contracts/access/Ownable.sol\"; // @WARN: it's direct import change to ../node_modules/ for ABI\n//import \"../node_modules/@openzeppelin/contracts/access/Ownable.sol\"; // @WARN: it's an absolute path witch is required for build abi, binaries and go files\n\ncontract TGPassport is Ownable {\n \n \n uint private _passportFee; \n address private _owner; \n\n struct Passport {\n address userAddress;\n int64 tgId; // unic Id for telegram (number)\n bool valid;\n address validatorAddress;\n string userName; // can be changed, do not trust it\n }\n\n\n //mappings\n mapping(int64 => address) public tgIdToAddress;\n mapping(address => Passport) public passports;\n mapping(string => address) public username_wallets; // usernames can be changed, do not trust it, use as utility\n \n mapping (int64 => mapping(int64 => bool)) public trust_global; // user id => [] user ids => trust\n \n /**\n * \n * 1. by defult user TRUST N0 0NE.\n * 2. we can get int64[] opinion_changed, so we get array of user who express trust/untrust to specific user\n * 3. then we can call GetTrust(user_from,user_to) for each of result from opinion_changed, and get arrays of trusters/untrusters attached to specific user\n * ..... possibly there is a better way to do it\n */\n mapping (int64 => int64[]) public opinion_changed;\n \n // EVENTS\n //\n event passportApplied(int64 applyerTg, address wallet_address);\n event passportAppliedIndexed(int64 indexed applyerTg, address wallet_address);\n event passportApproved(int64 applyerTg, address wallet_address, address issuer);\n event passportDenied(int64 applyerTg, address wallet);\n event TrustChanged(int64 from, int64 indexed to, bool trust);\n\n\n constructor() Ownable() {\n _passportFee = 1000 wei; // TODO: calculate gas costs\n _owner = owner();\n }\n\n\n function _updateAddress(int64 tgId, address userAddress, string memory user_name_) internal {\n require(tgIdToAddress[tgId] == address(0x0), \"There's address connected to that TG ID already.\"); // if cell is not empty revert\n tgIdToAddress[tgId] = userAddress;\n username_wallets[user_name_] = userAddress;\n }\n\n /**\n * @dev This function update user nicname if user change it\n */\n function UpdateUserName(string memory new_user_name_) public {\n Passport memory p = GetPassportByAddress(msg.sender);\n require(p.userAddress == msg.sender, \"you don't now own this username\");\n p.userName = new_user_name_;\n passports[msg.sender] = p;\n }\n\n /**\n * @notice This function for USER who try to obtain some tg_id\n * @param applyerTg unic id for telegram user, in telegram it's int64 (number)\n * @param user_name_ is username (like @username)\n **/\n function ApplyForPassport (int64 applyerTg, string memory user_name_) public payable {\n address applyerAddress = msg.sender; // ЛИЧНАЯ ПОДАЧА ПАСПОРТА В ТРЕТЬЕ ОКОШКО МФЦ\n _updateAddress(applyerTg,applyerAddress,user_name_); \n require (msg.value == _passportFee, \"Passport fee is not paid\");\n\n passports[msg.sender] = Passport(applyerAddress, applyerTg, false, address(0x0),user_name_);\n emit passportApplied(applyerTg, msg.sender);\n emit passportAppliedIndexed(applyerTg, msg.sender);\n (bool feePaid,) = _owner.call{value: _passportFee}(\"\");\n require(feePaid, \"Unable to transfer fee\");\n }\n\n /** \n * @notice This function approving passport (use for bot) which approve that user owns it's tg_id and nicname he want to attach with\n * @param passportToApprove address of user wallet which attached to him\n */\n function ApprovePassport (address passportToApprove) public onlyOwner {\n int64 _tgId = passports[passportToApprove].tgId;\n string memory user_name_ = passports[passportToApprove].userName;\n require(passports[passportToApprove].valid == false, \"already approved OR do not exists yet\");\n trust_global[_tgId][_tgId] == true;\n passports[passportToApprove] = Passport(passportToApprove, _tgId, true, msg.sender, user_name_); \n emit passportApproved(_tgId,passportToApprove,msg.sender);\n }\n\n /**\n * @notice This function decline application end erase junk data\n * @param passportToDecline address of user wallet\n */\n function DeclinePassport (address passportToDecline) public onlyOwner {\n int64 _tgId = passports[passportToDecline].tgId;\n string memory user_name_ = passports[passportToDecline].userName;\n require(passports[passportToDecline].valid == false, \"already approved OR do not exists yet\"); // it also means that record exists\n delete passports[passportToDecline];\n delete tgIdToAddress[_tgId];\n delete username_wallets[user_name_];\n emit passportDenied(_tgId,passportToDecline);\n }\n\n /**\n * @dev This function is a service function which allow Owner to erase already approved passport\n * and make clean state contract. NOT FOR USE IN PRODUCTION\n */\n function DeletePassport (address passportToDecline) public onlyOwner {\n int64 _tgId = passports[passportToDecline].tgId;\n string memory user_name_ = passports[passportToDecline].userName;\n uint chainID = block.chainid;\n require(chainID == uint(5), \"this function work's only for testnet\"); \n // require(passports[passportToDecline].valid == false, \"already approved OR do not exists yet\"); // it also means that record exists\n delete passports[passportToDecline];\n delete tgIdToAddress[_tgId];\n delete username_wallets[user_name_];\n emit passportDenied(_tgId,passportToDecline);\n } \n\n\n /**\n * \n * @dev this INTERNAL function is to show trust to other user\n * @param from tgid user who trust\n * @param to tgid user who trusted by\n */\n function _iTrustTo(int64 from, int64 to) internal {\n trust_global[from][to] = true;\n }\n\n /**\n * @dev this INTERNAL function is to DISRESPECT youser\n * by DEFAULT you are TRUST NO 0NE!\n * @param from tgid user who DONT TRUST\n * @param to tgid user who looks suspiciouse\n */\n function _iNotTrust(int64 from, int64 to) internal {\n trust_global[from][to] = false;\n }\n\n /*\n function SetTrustToAddress(address to, bool trust) public {\n \n }\n */\n\n /**\n * @dev set trust 'from' tgid 'to' tgid\n */\n function SetTrustToID(int64 from, int64 to, bool trust) public {\n Passport memory from_p = GetPassportByTgId(from);\n address from_address = from_p.userAddress;\n require(from_address == msg.sender, \"Your current address mismatch with your registred wallet address\"); // we check only registration 'from', 'to' may not be registred\n if (trust == true) {\n _iTrustTo(from,to);\n opinion_changed[from].push(to); // consider remove\n emit TrustChanged(from,to,trust);\n } else {\n _iNotTrust(from,to);\n opinion_changed[from].push(to); // consider remove\n emit TrustChanged(from,to,trust);\n }\n\n }\n\n\n /**\n * @notice get to know if tgid from trust tgid to\n */\n function GetTrust(int64 from, int64 to) public view returns (bool) {\n return trust_global[from][to];\n }\n\n /**\n * @dev setting fee for applying for passport\n */\n function SetPassportFee(uint passportFee_) public onlyOwner {\n _passportFee = passportFee_;\n }\n\n /**\n * @dev getter to obtain how much user will pay for apply\n */\n function GetPassportFee() public view returns (uint) {\n return _passportFee;\n }\n\n\n function GetPassportWalletByID(int64 tgId_) public view returns(address){\n return tgIdToAddress[tgId_];\n }\n\n function GetTgIdByAddress(address user_wallet) public view returns(int64 tgid) {\n Passport memory p = GetPassportByAddress(user_wallet);\n tgid = p.tgId;\n return tgid;\n }\n\n function GetPassportByAddress(address user_wallet) public view returns(Passport memory) {\n Passport memory p = passports[user_wallet];\n return p;\n }\n\n function GetWalletByNickName(string memory user_name_) public view returns (address) {\n return username_wallets[user_name_];\n }\n\n function GetPassportByNickName(string memory user_name_) public view returns (Passport memory) {\n address wallet_ = GetWalletByNickName(user_name_);\n Passport memory p = passports[wallet_];\n return p;\n }\n\n function GetPassportByTgId(int64 tgId_) public view returns (Passport memory) {\n address wallet = GetPassportWalletByID(tgId_);\n Passport memory p = passports[wallet];\n return p;\n }\n\n function GetOwner() public view returns(address) {\n return _owner;\n }\n\n}" + }, + "@openzeppelin/contracts/utils/Context.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Context.sol)\n\npragma solidity ^0.8.0;\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" + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (token/ERC721/IERC721.sol)\n\npragma solidity ^0.8.0;\n\nimport \"../../utils/introspection/IERC165.sol\";\n\n/**\n * @dev Required interface of an ERC721 compliant contract.\n */\ninterface IERC721 is IERC165 {\n /**\n * @dev Emitted when `tokenId` token is transferred from `from` to `to`.\n */\n event Transfer(address indexed from, address indexed to, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables `approved` to manage the `tokenId` token.\n */\n event Approval(address indexed owner, address indexed approved, uint256 indexed tokenId);\n\n /**\n * @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\n */\n event ApprovalForAll(address indexed owner, address indexed operator, bool approved);\n\n /**\n * @dev Returns the number of tokens in ``owner``'s account.\n */\n function balanceOf(address owner) external view returns (uint256 balance);\n\n /**\n * @dev Returns the owner of the `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function ownerOf(uint256 tokenId) external view returns (address owner);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n * are aware of the ERC721 protocol to prevent tokens from being forever locked.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Transfers `tokenId` token from `from` to `to`.\n *\n * WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n *\n * Emits a {Transfer} event.\n */\n function transferFrom(\n address from,\n address to,\n uint256 tokenId\n ) external;\n\n /**\n * @dev Gives permission to `to` to transfer `tokenId` token to another account.\n * The approval is cleared when the token is transferred.\n *\n * Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n *\n * Requirements:\n *\n * - The caller must own the token or be an approved operator.\n * - `tokenId` must exist.\n *\n * Emits an {Approval} event.\n */\n function approve(address to, uint256 tokenId) external;\n\n /**\n * @dev Returns the account approved for `tokenId` token.\n *\n * Requirements:\n *\n * - `tokenId` must exist.\n */\n function getApproved(uint256 tokenId) external view returns (address operator);\n\n /**\n * @dev Approve or remove `operator` as an operator for the caller.\n * Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n *\n * Requirements:\n *\n * - The `operator` cannot be the caller.\n *\n * Emits an {ApprovalForAll} event.\n */\n function setApprovalForAll(address operator, bool _approved) external;\n\n /**\n * @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n *\n * See {setApprovalForAll}\n */\n function isApprovedForAll(address owner, address operator) external view returns (bool);\n\n /**\n * @dev Safely transfers `tokenId` token from `from` to `to`.\n *\n * Requirements:\n *\n * - `from` cannot be the zero address.\n * - `to` cannot be the zero address.\n * - `tokenId` token must exist and be owned by `from`.\n * - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n * - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n *\n * Emits a {Transfer} event.\n */\n function safeTransferFrom(\n address from,\n address to,\n uint256 tokenId,\n bytes calldata data\n ) external;\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/IERC165.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev Interface of the ERC165 standard, as defined in the\n * https://eips.ethereum.org/EIPS/eip-165[EIP].\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[EIP 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" + }, + "@openzeppelin/contracts/access/IAccessControl.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (access/IAccessControl.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev External interface of AccessControl declared to support ERC165 detection.\n */\ninterface IAccessControl {\n /**\n * @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n *\n * `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n * {RoleAdminChanged} not being emitted signaling this.\n *\n * _Available since v3.1._\n */\n event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole);\n\n /**\n * @dev Emitted when `account` is granted `role`.\n *\n * `sender` is the account that originated the contract call, an admin role\n * bearer except when using {AccessControl-_setupRole}.\n */\n event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Emitted when `account` is revoked `role`.\n *\n * `sender` is the account that originated the contract call:\n * - if using `revokeRole`, it is the admin role bearer\n * - if using `renounceRole`, it is the role bearer (i.e. `account`)\n */\n event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender);\n\n /**\n * @dev Returns `true` if `account` has been granted `role`.\n */\n function hasRole(bytes32 role, address account) external view returns (bool);\n\n /**\n * @dev Returns the admin role that controls `role`. See {grantRole} and\n * {revokeRole}.\n *\n * To change a role's admin, use {AccessControl-_setRoleAdmin}.\n */\n function getRoleAdmin(bytes32 role) external view returns (bytes32);\n\n /**\n * @dev Grants `role` to `account`.\n *\n * If `account` had not been already granted `role`, emits a {RoleGranted}\n * event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function grantRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from `account`.\n *\n * If `account` had been granted `role`, emits a {RoleRevoked} event.\n *\n * Requirements:\n *\n * - the caller must have ``role``'s admin role.\n */\n function revokeRole(bytes32 role, address account) external;\n\n /**\n * @dev Revokes `role` from the calling account.\n *\n * Roles are often managed via {grantRole} and {revokeRole}: this function's\n * purpose is to provide a mechanism for accounts to lose their privileges\n * if they are compromised (such as when a trusted device is misplaced).\n *\n * If the calling account had been granted `role`, emits a {RoleRevoked}\n * event.\n *\n * Requirements:\n *\n * - the caller must be `account`.\n */\n function renounceRole(bytes32 role, address account) external;\n}\n" + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/Strings.sol)\n\npragma solidity ^0.8.0;\n\n/**\n * @dev String operations.\n */\nlibrary Strings {\n bytes16 private constant _HEX_SYMBOLS = \"0123456789abcdef\";\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 // Inspired by OraclizeAPI's implementation - MIT licence\n // https://github.com/oraclize/ethereum-api/blob/b42146b063c7d6ee1358846c198246239e9360e8/oraclizeAPI_0.4.25.sol\n\n if (value == 0) {\n return \"0\";\n }\n uint256 temp = value;\n uint256 digits;\n while (temp != 0) {\n digits++;\n temp /= 10;\n }\n bytes memory buffer = new bytes(digits);\n while (value != 0) {\n digits -= 1;\n buffer[digits] = bytes1(uint8(48 + uint256(value % 10)));\n value /= 10;\n }\n return string(buffer);\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 if (value == 0) {\n return \"0x00\";\n }\n uint256 temp = value;\n uint256 length = 0;\n while (temp != 0) {\n length++;\n temp >>= 8;\n }\n return toHexString(value, length);\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 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_SYMBOLS[value & 0xf];\n value >>= 4;\n }\n require(value == 0, \"Strings: hex length insufficient\");\n return string(buffer);\n }\n}\n" + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "content": "// SPDX-License-Identifier: MIT\n// OpenZeppelin Contracts v4.4.1 (utils/introspection/ERC165.sol)\n\npragma solidity ^0.8.0;\n\nimport \"./IERC165.sol\";\n\n/**\n * @dev Implementation of the {IERC165} interface.\n *\n * Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n * for the additional interface id that will be supported. For example:\n *\n * ```solidity\n * function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n * return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n * }\n * ```\n *\n * Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\n */\nabstract contract ERC165 is IERC165 {\n /**\n * @dev See {IERC165-supportsInterface}.\n */\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(IERC165).interfaceId;\n }\n}\n" + } + }, + "settings": { + "optimizer": { + "enabled": false, + "runs": 200 + }, + "outputSelection": { + "*": { + "*": [ + "abi", + "evm.bytecode", + "evm.deployedBytecode", + "evm.methodIdentifiers", + "metadata" + ], + "": [ + "ast" + ] + } + } + } + }, + "output": { + "contracts": { + "@openzeppelin/contracts/access/AccessControl.sol": { + "AccessControl": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "DEFAULT_ADMIN_ROLE()": "a217fddf", + "getRoleAdmin(bytes32)": "248a9ca3", + "grantRole(bytes32,address)": "2f2ff15d", + "hasRole(bytes32,address)": "91d14854", + "renounceRole(bytes32,address)": "36568abe", + "revokeRole(bytes32,address)": "d547741f", + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module that allows children to implement role-based access control mechanisms. This is a lightweight version that doesn't allow enumerating role members except through off-chain means by accessing the contract event logs. Some applications may benefit from on-chain enumerability, for those cases see {AccessControlEnumerable}. Roles are referred to by their `bytes32` identifier. These should be exposed in the external API and be unique. The best way to achieve this is by using `public constant` hash digests: ``` bytes32 public constant MY_ROLE = keccak256(\\\"MY_ROLE\\\"); ``` Roles can be used to represent a set of permissions. To restrict access to a function call, use {hasRole}: ``` function foo() public { require(hasRole(MY_ROLE, msg.sender)); ... } ``` Roles can be granted and revoked dynamically via the {grantRole} and {revokeRole} functions. Each role has an associated admin role, and only accounts that have a role's admin role can call {grantRole} and {revokeRole}. By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means that only accounts with this role will be able to grant or revoke other roles. More complex role relationships can be created by using {_setRoleAdmin}. WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to grant and revoke this role. Extra precautions should be taken to secure accounts that have been granted it.\",\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/AccessControl.sol\":\"AccessControl\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x4a1a0ba12bf1a33f10d9fe226278cf59675c0b929d29e4da99658a079b27fb84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bda1319db846d6d6f92d8a57a9bdee8bde1dc39aa7546165791692c24dd6f30a\",\"dweb:/ipfs/Qma5oZ7DmbdAjd8mpiW7mx896PDtwsQtCQ2hj9Upf7b7JK\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/access/IAccessControl.sol": { + "IAccessControl": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "getRoleAdmin(bytes32)": "248a9ca3", + "grantRole(bytes32,address)": "2f2ff15d", + "hasRole(bytes32,address)": "91d14854", + "renounceRole(bytes32,address)": "36568abe", + "revokeRole(bytes32,address)": "d547741f" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"External interface of AccessControl declared to support ERC165 detection.\",\"events\":{\"RoleAdminChanged(bytes32,bytes32,bytes32)\":{\"details\":\"Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole` `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite {RoleAdminChanged} not being emitted signaling this. _Available since v3.1._\"},\"RoleGranted(bytes32,address,address)\":{\"details\":\"Emitted when `account` is granted `role`. `sender` is the account that originated the contract call, an admin role bearer except when using {AccessControl-_setupRole}.\"},\"RoleRevoked(bytes32,address,address)\":{\"details\":\"Emitted when `account` is revoked `role`. `sender` is the account that originated the contract call: - if using `revokeRole`, it is the admin role bearer - if using `renounceRole`, it is the role bearer (i.e. `account`)\"}},\"kind\":\"dev\",\"methods\":{\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {AccessControl-_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":\"IAccessControl\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/access/Ownable.sol": { + "Ownable": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Contract module which provides a basic access control mechanism, where there is an account (an owner) that can be granted exclusive access to specific functions. By default, the owner account will be the one that deploys the contract. This can later be changed with {transferOwnership}. This module is used through inheritance. It will make available the modifier `onlyOwner`, which can be applied to your functions to restrict their use to the owner.\",\"kind\":\"dev\",\"methods\":{\"constructor\":{\"details\":\"Initializes the contract setting the deployer as the initial owner.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/access/Ownable.sol\":\"Ownable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "IERC20": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "totalSupply", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "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" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "allowance(address,address)": "dd62ed3e", + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "totalSupply()": "18160ddd", + "transfer(address,uint256)": "a9059cbb", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"totalSupply\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"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\":{\"details\":\"Interface of the ERC20 standard as defined in the EIP.\",\"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 `amount` 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 amount of tokens owned by `account`.\"},\"totalSupply()\":{\"details\":\"Returns the amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` 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 `amount` tokens from `from` to `to` using the allowance mechanism. `amount` 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\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":\"IERC20\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "IERC20Metadata": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": false, + "internalType": "uint256", + "name": "value", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "spender", + "type": "address" + } + ], + "name": "allowance", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "spender", + "type": "address" + }, + { + "internalType": "uint256", + "name": "amount", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "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": "amount", + "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" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "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" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"uint256\",\"name\":\"value\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"}],\"name\":\"allowance\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"spender\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"amount\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"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\":\"amount\",\"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\":{\"details\":\"Interface for the optional metadata functions from the ERC20 standard. _Available since v4.1._\",\"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 `amount` 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 amount 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 amount of tokens in existence.\"},\"transfer(address,uint256)\":{\"details\":\"Moves `amount` 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 `amount` tokens from `from` to `to` using the allowance mechanism. `amount` 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\":{\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":\"IERC20Metadata\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "IERC721": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"Required interface of an ERC721 compliant contract.\",\"events\":{\"Approval(address,address,uint256)\":{\"details\":\"Emitted when `owner` enables `approved` to manage the `tokenId` token.\"},\"ApprovalForAll(address,address,bool)\":{\"details\":\"Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets.\"},\"Transfer(address,address,uint256)\":{\"details\":\"Emitted when `tokenId` token is transferred from `from` to `to`.\"}},\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":\"IERC721\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": { + "IERC721Enumerable": { + "abi": [ + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "approved", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Approval", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "indexed": false, + "internalType": "bool", + "name": "approved", + "type": "bool" + } + ], + "name": "ApprovalForAll", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "indexed": true, + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "Transfer", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "approve", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "name": "balanceOf", + "outputs": [ + { + "internalType": "uint256", + "name": "balance", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "getApproved", + "outputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "address", + "name": "operator", + "type": "address" + } + ], + "name": "isApprovedForAll", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "ownerOf", + "outputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + }, + { + "internalType": "bytes", + "name": "data", + "type": "bytes" + } + ], + "name": "safeTransferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "operator", + "type": "address" + }, + { + "internalType": "bool", + "name": "_approved", + "type": "bool" + } + ], + "name": "setApprovalForAll", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenByIndex", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "owner", + "type": "address" + }, + { + "internalType": "uint256", + "name": "index", + "type": "uint256" + } + ], + "name": "tokenOfOwnerByIndex", + "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": "from", + "type": "address" + }, + { + "internalType": "address", + "name": "to", + "type": "address" + }, + { + "internalType": "uint256", + "name": "tokenId", + "type": "uint256" + } + ], + "name": "transferFrom", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "approve(address,uint256)": "095ea7b3", + "balanceOf(address)": "70a08231", + "getApproved(uint256)": "081812fc", + "isApprovedForAll(address,address)": "e985e9c5", + "ownerOf(uint256)": "6352211e", + "safeTransferFrom(address,address,uint256)": "42842e0e", + "safeTransferFrom(address,address,uint256,bytes)": "b88d4fde", + "setApprovalForAll(address,bool)": "a22cb465", + "supportsInterface(bytes4)": "01ffc9a7", + "tokenByIndex(uint256)": "4f6ccce7", + "tokenOfOwnerByIndex(address,uint256)": "2f745c59", + "totalSupply()": "18160ddd", + "transferFrom(address,address,uint256)": "23b872dd" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"approved\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Approval\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"approved\",\"type\":\"bool\"}],\"name\":\"ApprovalForAll\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"Transfer\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"approve\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"name\":\"balanceOf\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"balance\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"getApproved\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"}],\"name\":\"isApprovedForAll\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"ownerOf\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"},{\"internalType\":\"bytes\",\"name\":\"data\",\"type\":\"bytes\"}],\"name\":\"safeTransferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"operator\",\"type\":\"address\"},{\"internalType\":\"bool\",\"name\":\"_approved\",\"type\":\"bool\"}],\"name\":\"setApprovalForAll\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenByIndex\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"owner\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"index\",\"type\":\"uint256\"}],\"name\":\"tokenOfOwnerByIndex\",\"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\":\"from\",\"type\":\"address\"},{\"internalType\":\"address\",\"name\":\"to\",\"type\":\"address\"},{\"internalType\":\"uint256\",\"name\":\"tokenId\",\"type\":\"uint256\"}],\"name\":\"transferFrom\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"details\":\"See https://eips.ethereum.org/EIPS/eip-721\",\"kind\":\"dev\",\"methods\":{\"approve(address,uint256)\":{\"details\":\"Gives permission to `to` to transfer `tokenId` token to another account. The approval is cleared when the token is transferred. Only a single account can be approved at a time, so approving the zero address clears previous approvals. Requirements: - The caller must own the token or be an approved operator. - `tokenId` must exist. Emits an {Approval} event.\"},\"balanceOf(address)\":{\"details\":\"Returns the number of tokens in ``owner``'s account.\"},\"getApproved(uint256)\":{\"details\":\"Returns the account approved for `tokenId` token. Requirements: - `tokenId` must exist.\"},\"isApprovedForAll(address,address)\":{\"details\":\"Returns if the `operator` is allowed to manage all of the assets of `owner`. See {setApprovalForAll}\"},\"ownerOf(uint256)\":{\"details\":\"Returns the owner of the `tokenId` token. Requirements: - `tokenId` must exist.\"},\"safeTransferFrom(address,address,uint256)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients are aware of the ERC721 protocol to prevent tokens from being forever locked. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"safeTransferFrom(address,address,uint256,bytes)\":{\"details\":\"Safely transfers `tokenId` token from `from` to `to`. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must exist and be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer. Emits a {Transfer} event.\"},\"setApprovalForAll(address,bool)\":{\"details\":\"Approve or remove `operator` as an operator for the caller. Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller. Requirements: - The `operator` cannot be the caller. Emits an {ApprovalForAll} event.\"},\"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[EIP section] to learn more about how these ids are created. This function call must use less than 30 000 gas.\"},\"tokenByIndex(uint256)\":{\"details\":\"Returns a token ID at a given `index` of all the tokens stored by the contract. Use along with {totalSupply} to enumerate all tokens.\"},\"tokenOfOwnerByIndex(address,uint256)\":{\"details\":\"Returns a token ID owned by `owner` at a given `index` of its token list. Use along with {balanceOf} to enumerate all of ``owner``'s tokens.\"},\"totalSupply()\":{\"details\":\"Returns the total amount of tokens stored by the contract.\"},\"transferFrom(address,address,uint256)\":{\"details\":\"Transfers `tokenId` token from `from` to `to`. WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible. Requirements: - `from` cannot be the zero address. - `to` cannot be the zero address. - `tokenId` token must be owned by `from`. - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}. Emits a {Transfer} event.\"}},\"title\":\"ERC-721 Non-Fungible Token Standard, optional enumeration extension\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":\"IERC721Enumerable\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Context.sol": { + "Context": { + "abi": [], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"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\":{\"@openzeppelin/contracts/utils/Context.sol\":\"Context\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Counters.sol": { + "Counters": { + "abi": [], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122087233479b9bbafbc7c6db009668432640924d650db7356e7ca306f22fef990a564736f6c63430008040033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP8 0x23 CALLVALUE PUSH26 0xB9BBAFBC7C6DB009668432640924D650DB7356E7CA306F22FEF9 SWAP1 0xA5 PUSH5 0x736F6C6343 STOP ADDMOD DIV STOP CALLER ", + "sourceMap": "424:971:8:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea264697066735822122087233479b9bbafbc7c6db009668432640924d650db7356e7ca306f22fef990a564736f6c63430008040033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 DUP8 0x23 CALLVALUE PUSH26 0xB9BBAFBC7C6DB009668432640924D650DB7356E7CA306F22FEF9 SWAP1 0xA5 PUSH5 0x736F6C6343 STOP ADDMOD DIV STOP CALLER ", + "sourceMap": "424:971:8:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"author\":\"Matt Condon (@shrugs)\",\"details\":\"Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number of elements in a mapping, issuing ERC721 ids, or counting request ids. Include with `using Counters for Counters.Counter;`\",\"kind\":\"dev\",\"methods\":{},\"title\":\"Counters\",\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Counters.sol\":\"Counters\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "Strings": { + "abi": [], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "60566050600b82828239805160001a6073146043577f4e487b7100000000000000000000000000000000000000000000000000000000600052600060045260246000fd5b30600052607381538281f3fe73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201041067283afbf6e9fbf233452e8cda06774dc4d789a56746522cd2b25c5479564736f6c63430008040033", + "opcodes": "PUSH1 0x56 PUSH1 0x50 PUSH1 0xB DUP3 DUP3 DUP3 CODECOPY DUP1 MLOAD PUSH1 0x0 BYTE PUSH1 0x73 EQ PUSH1 0x43 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x0 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST ADDRESS PUSH1 0x0 MSTORE PUSH1 0x73 DUP2 MSTORE8 DUP3 DUP2 RETURN INVALID PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LT COINBASE MOD PUSH19 0x83AFBF6E9FBF233452E8CDA06774DC4D789A56 PUSH21 0x6522CD2B25C5479564736F6C634300080400330000 ", + "sourceMap": "146:1885:9:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "73000000000000000000000000000000000000000030146080604052600080fdfea26469706673582212201041067283afbf6e9fbf233452e8cda06774dc4d789a56746522cd2b25c5479564736f6c63430008040033", + "opcodes": "PUSH20 0x0 ADDRESS EQ PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x0 DUP1 REVERT INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 LT COINBASE MOD PUSH19 0x83AFBF6E9FBF233452E8CDA06774DC4D789A56 PUSH21 0x6522CD2B25C5479564736F6C634300080400330000 ", + "sourceMap": "146:1885:9:-:0;;;;;;;;" + }, + "methodIdentifiers": {} + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[],\"devdoc\":{\"details\":\"String operations.\",\"kind\":\"dev\",\"methods\":{},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/Strings.sol\":\"Strings\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"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\":\"Implementation of the {IERC165} interface. Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check for the additional interface id that will be supported. For example: ```solidity function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) { return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId); } ``` Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation.\",\"kind\":\"dev\",\"methods\":{\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{},\"version\":1}},\"settings\":{\"compilationTarget\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":\"ERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "IERC165": { + "abi": [ + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "deployedBytecode": { + "generatedSources": [], + "immutableReferences": {}, + "linkReferences": {}, + "object": "", + "opcodes": "", + "sourceMap": "" + }, + "methodIdentifiers": { + "supportsInterface(bytes4)": "01ffc9a7" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"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 ERC165 standard, as defined in the https://eips.ethereum.org/EIPS/eip-165[EIP]. 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[EIP 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\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":\"IERC165\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]}},\"version\":1}" + } + }, + "contracts/TGPassport.sol": { + "TGPassport": { + "abi": [ + { + "inputs": [], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int64", + "name": "from", + "type": "int64" + }, + { + "indexed": true, + "internalType": "int64", + "name": "to", + "type": "int64" + }, + { + "indexed": false, + "internalType": "bool", + "name": "trust", + "type": "bool" + } + ], + "name": "TrustChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "wallet_address", + "type": "address" + } + ], + "name": "passportApplied", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "wallet_address", + "type": "address" + } + ], + "name": "passportAppliedIndexed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "wallet_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "address", + "name": "issuer", + "type": "address" + } + ], + "name": "passportApproved", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "wallet", + "type": "address" + } + ], + "name": "passportDenied", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "internalType": "string", + "name": "user_name_", + "type": "string" + } + ], + "name": "ApplyForPassport", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "passportToApprove", + "type": "address" + } + ], + "name": "ApprovePassport", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "passportToDecline", + "type": "address" + } + ], + "name": "DeclinePassport", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "passportToDecline", + "type": "address" + } + ], + "name": "DeletePassport", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [], + "name": "GetOwner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user_wallet", + "type": "address" + } + ], + "name": "GetPassportByAddress", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "int64", + "name": "tgId", + "type": "int64" + }, + { + "internalType": "bool", + "name": "valid", + "type": "bool" + }, + { + "internalType": "address", + "name": "validatorAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "userName", + "type": "string" + } + ], + "internalType": "struct TGPassport.Passport", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "user_name_", + "type": "string" + } + ], + "name": "GetPassportByNickName", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "int64", + "name": "tgId", + "type": "int64" + }, + { + "internalType": "bool", + "name": "valid", + "type": "bool" + }, + { + "internalType": "address", + "name": "validatorAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "userName", + "type": "string" + } + ], + "internalType": "struct TGPassport.Passport", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "tgId_", + "type": "int64" + } + ], + "name": "GetPassportByTgId", + "outputs": [ + { + "components": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "int64", + "name": "tgId", + "type": "int64" + }, + { + "internalType": "bool", + "name": "valid", + "type": "bool" + }, + { + "internalType": "address", + "name": "validatorAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "userName", + "type": "string" + } + ], + "internalType": "struct TGPassport.Passport", + "name": "", + "type": "tuple" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "GetPassportFee", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "tgId_", + "type": "int64" + } + ], + "name": "GetPassportWalletByID", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "user_wallet", + "type": "address" + } + ], + "name": "GetTgIdByAddress", + "outputs": [ + { + "internalType": "int64", + "name": "tgid", + "type": "int64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "from", + "type": "int64" + }, + { + "internalType": "int64", + "name": "to", + "type": "int64" + } + ], + "name": "GetTrust", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "user_name_", + "type": "string" + } + ], + "name": "GetWalletByNickName", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "passportFee_", + "type": "uint256" + } + ], + "name": "SetPassportFee", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "from", + "type": "int64" + }, + { + "internalType": "int64", + "name": "to", + "type": "int64" + }, + { + "internalType": "bool", + "name": "trust", + "type": "bool" + } + ], + "name": "SetTrustToID", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "new_user_name_", + "type": "string" + } + ], + "name": "UpdateUserName", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + }, + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "opinion_changed", + "outputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "passports", + "outputs": [ + { + "internalType": "address", + "name": "userAddress", + "type": "address" + }, + { + "internalType": "int64", + "name": "tgId", + "type": "int64" + }, + { + "internalType": "bool", + "name": "valid", + "type": "bool" + }, + { + "internalType": "address", + "name": "validatorAddress", + "type": "address" + }, + { + "internalType": "string", + "name": "userName", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "name": "tgIdToAddress", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + }, + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "name": "trust_global", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "string", + "name": "", + "type": "string" + } + ], + "name": "username_wallets", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [], + "linkReferences": {}, + "object": "60806040523480156200001157600080fd5b5062000032620000266200009160201b60201c565b6200009960201b60201c565b6103e86001819055506200004b6200015d60201b60201c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555062000186565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b61348780620001966000396000f3fe60806040526004361061014b5760003560e01c80636a8ec05e116100b6578063b910c8981161006f578063b910c898146104ee578063d2114e1814610517578063d2125bd214610554578063d5998aeb1461057d578063e37c132b14610599578063f2fde38b146105da5761014b565b80636a8ec05e146103cc578063715018a6146104095780638da5cb5b146104205780639413c6421461044b5780639421da6114610488578063b25047c2146104b15761014b565b806348dc15611161010857806348dc1561146102845780634ac054bb146102af57806359cca93b146102ec57806361cabe371461032957806365104afc1461036657806365a5637e1461038f5761014b565b80630ae50a39146101505780630c2fc6e31461017b5780631423ea07146101b85780631755e9e6146101f557806321e6531d1461021e578063239f60fa14610247575b600080fd5b34801561015c57600080fd5b50610165610603565b6040516101729190612d30565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612876565b61062d565b6040516101af9190612d30565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da919061284d565b610670565b6040516101ec9190612f84565b60405180910390f35b34801561020157600080fd5b5061021c6004803603810190610217919061284d565b610845565b005b34801561022a57600080fd5b50610245600480360381019061024091906129ba565b610c93565b005b34801561025357600080fd5b5061026e6004803603810190610269919061289f565b610e5f565b60405161027b9190612da5565b60405180910390f35b34801561029057600080fd5b50610299610e8e565b6040516102a69190612fa6565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d1919061289f565b610e98565b6040516102e39190612da5565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e91906129ba565b610ee0565b6040516103209190612d30565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b919061284d565b610f29565b60405161035d9190612dc0565b60405180910390f35b34801561037257600080fd5b5061038d6004803603810190610388919061284d565b610f44565b005b34801561039b57600080fd5b506103b660048036038101906103b19190612876565b6112b6565b6040516103c39190612f84565b60405180910390f35b3480156103d857600080fd5b506103f360048036038101906103ee919061297e565b611499565b6040516104009190612dc0565b60405180910390f35b34801561041557600080fd5b5061041e6114df565b005b34801561042c57600080fd5b50610435611567565b6040516104429190612d30565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d9190612876565b611590565b60405161047f9190612d30565b60405180910390f35b34801561049457600080fd5b506104af60048036038101906104aa919061284d565b6115c3565b005b3480156104bd57600080fd5b506104d860048036038101906104d391906129ba565b611982565b6040516104e59190612f84565b60405180910390f35b3480156104fa57600080fd5b50610515600480360381019061051091906128db565b611b65565b005b34801561052357600080fd5b5061053e600480360381019061053991906129ba565b611d71565b60405161054b9190612d30565b60405180910390f35b34801561056057600080fd5b5061057b600480360381019061057691906129fb565b611db9565b005b6105976004803603810190610592919061292a565b611e3f565b005b3480156105a557600080fd5b506105c060048036038101906105bb919061284d565b612176565b6040516105d1959493929190612d4b565b60405180910390f35b3480156105e657600080fd5b5061060160048036038101906105fc919061284d565b61228e565b005b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600360008360070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61067861264e565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820180546107b8906130f1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e4906130f1565b80156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b505050505081525050905080915050919050565b61084d612386565b73ffffffffffffffffffffffffffffffffffffffff1661086b611567565b73ffffffffffffffffffffffffffffffffffffffff16146108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b890612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054610964906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054610990906130f1565b80156109dd5780601f106109b2576101008083540402835291602001916109dd565b820191906000526020600020905b8154815290600101906020018083116109c057829003601f168201915b5050505050905060001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001601c9054906101000a900460ff16151514610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190612f64565b60405180910390fd5b60011515600660008460070b60070b815260200190815260200160002060008460070b60070b815260200190815260200160002060009054906101000a905050506040518060a001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018360070b81526020016001151581526020013373ffffffffffffffffffffffffffffffffffffffff16815260200182815250600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002019080519060200190610c4f9291906126ae565b509050507fddda54aebd53f1c2d3f35d7107ddd15f71b313a804dda2179cded44927110cd0828433604051610c8693929190612e04565b60405180910390a1505050565b6000610c9e33610670565b90503373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614610d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0990612f04565b60405180910390fd5b81816080018190525080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002019080519060200190610e579291906126ae565b509050505050565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b6000600154905090565b6000600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060009054906101000a900460ff16905092915050565b6005818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610f3583610670565b90508060200151915050919050565b610f4c612386565b73ffffffffffffffffffffffffffffffffffffffff16610f6a611567565b73ffffffffffffffffffffffffffffffffffffffff1614610fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb790612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054611063906130f1565b80601f016020809104026020016040519081016040528092919081815260200182805461108f906130f1565b80156110dc5780601f106110b1576101008083540402835291602001916110dc565b820191906000526020600020905b8154815290600101906020018083116110bf57829003601f168201915b5050505050905060004690506005811461112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112290612f44565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006111f89190612734565b5050600360008460070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005826040516112469190612d04565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f0511bec3ed97c7099362d7e7b0ed4fe8afe6f448a0dcf73f258be48dceb302db83856040516112a8929190612ddb565b60405180910390a150505050565b6112be61264e565b60006112c98361062d565b90506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461140b906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054611437906130f1565b80156114845780601f1061145957610100808354040283529160200191611484565b820191906000526020600020905b81548152906001019060200180831161146757829003601f168201915b50505050508152505090508092505050919050565b600760205281600052604060002081815481106114b557600080fd5b9060005260206000209060049182820401919006600802915091509054906101000a900460070b81565b6114e7612386565b73ffffffffffffffffffffffffffffffffffffffff16611505611567565b73ffffffffffffffffffffffffffffffffffffffff161461155b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155290612f24565b60405180910390fd5b611565600061238e565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115cb612386565b73ffffffffffffffffffffffffffffffffffffffff166115e9611567565b73ffffffffffffffffffffffffffffffffffffffff161461163f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163690612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020180546116e2906130f1565b80601f016020809104026020016040519081016040528092919081815260200182805461170e906130f1565b801561175b5780601f106117305761010080835404028352916020019161175b565b820191906000526020600020905b81548152906001019060200180831161173e57829003601f168201915b5050505050905060001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001601c9054906101000a900460ff161515146117f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ef90612f64565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006118c59190612734565b5050600360008360070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005816040516119139190612d04565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f0511bec3ed97c7099362d7e7b0ed4fe8afe6f448a0dcf73f258be48dceb302db8284604051611975929190612ddb565b60405180910390a1505050565b61198a61264e565b600061199583611d71565b90506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282018054611ad7906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054611b03906130f1565b8015611b505780601f10611b2557610100808354040283529160200191611b50565b820191906000526020600020905b815481529060010190602001808311611b3357829003601f168201915b50505050508152505090508092505050919050565b6000611b70846112b6565b90506000816000015190503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be090612ee4565b60405180910390fd5b600115158315151415611cb257611c008585612452565b600760008660070b60070b81526020019081526020016000208490806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055508360070b7fb3ca43859da7280c9b07097e86cb568999c37fb4232a15e7ffbae5c6921c2bef8685604051611ca5929190612e3b565b60405180910390a2611d6a565b611cbc858561249f565b600760008660070b60070b81526020019081526020016000208490806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055508360070b7fb3ca43859da7280c9b07097e86cb568999c37fb4232a15e7ffbae5c6921c2bef8685604051611d61929190612e3b565b60405180910390a25b5050505050565b6000600582604051611d839190612d04565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611dc1612386565b73ffffffffffffffffffffffffffffffffffffffff16611ddf611567565b73ffffffffffffffffffffffffffffffffffffffff1614611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c90612f24565b60405180910390fd5b8060018190555050565b6000339050611e4f8382846124ec565b6001543414611e93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8a90612ec4565b60405180910390fd5b6040518060a001604052808273ffffffffffffffffffffffffffffffffffffffff1681526020018460070b8152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200183815250600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160020190805190602001906120289291906126ae565b509050507fcb042d04619e497175f63ce8ec9b9127cb0bf344facc37db4fe8492c2ecfbb9e833360405161205d929190612ddb565b60405180910390a18260070b7f2d329f0d038ded94203a58e5be2f2f41b14cbbc49cc1f89443696606f104658c336040516120989190612d30565b60405180910390a26000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001546040516120ea90612d1b565b60006040518083038185875af1925050503d8060008114612127576040519150601f19603f3d011682016040523d82523d6000602084013e61212c565b606091505b5050905080612170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216790612e84565b60405180910390fd5b50505050565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600201805461220b906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054612237906130f1565b80156122845780601f1061225957610100808354040283529160200191612284565b820191906000526020600020905b81548152906001019060200180831161226757829003601f168201915b5050505050905085565b612296612386565b73ffffffffffffffffffffffffffffffffffffffff166122b4611567565b73ffffffffffffffffffffffffffffffffffffffff161461230a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230190612f24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561237a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237190612e64565b60405180910390fd5b6123838161238e565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff16600360008560070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258b90612ea4565b60405180910390fd5b81600360008560070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816005826040516125fd9190612d04565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600060070b8152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8280546126ba906130f1565b90600052602060002090601f0160209004810192826126dc5760008555612723565b82601f106126f557805160ff1916838001178555612723565b82800160010185558215612723579182015b82811115612722578251825591602001919060010190612707565b5b5090506127309190612774565b5090565b508054612740906130f1565b6000825580601f106127525750612771565b601f0160209004906000526020600020908101906127709190612774565b5b50565b5b8082111561278d576000816000905550600101612775565b5090565b60006127a461279f84612fe6565b612fc1565b9050828152602081018484840111156127bc57600080fd5b6127c78482856130af565b509392505050565b6000813590506127de816133f5565b92915050565b6000813590506127f38161340c565b92915050565b60008135905061280881613423565b92915050565b600082601f83011261281f57600080fd5b813561282f848260208601612791565b91505092915050565b6000813590506128478161343a565b92915050565b60006020828403121561285f57600080fd5b600061286d848285016127cf565b91505092915050565b60006020828403121561288857600080fd5b6000612896848285016127f9565b91505092915050565b600080604083850312156128b257600080fd5b60006128c0858286016127f9565b92505060206128d1858286016127f9565b9150509250929050565b6000806000606084860312156128f057600080fd5b60006128fe868287016127f9565b935050602061290f868287016127f9565b9250506040612920868287016127e4565b9150509250925092565b6000806040838503121561293d57600080fd5b600061294b858286016127f9565b925050602083013567ffffffffffffffff81111561296857600080fd5b6129748582860161280e565b9150509250929050565b6000806040838503121561299157600080fd5b600061299f858286016127f9565b92505060206129b085828601612838565b9150509250929050565b6000602082840312156129cc57600080fd5b600082013567ffffffffffffffff8111156129e657600080fd5b6129f28482850161280e565b91505092915050565b600060208284031215612a0d57600080fd5b6000612a1b84828501612838565b91505092915050565b612a2d8161305a565b82525050565b612a3c8161305a565b82525050565b612a4b8161306c565b82525050565b612a5a8161306c565b82525050565b612a6981613078565b82525050565b612a7881613078565b82525050565b6000612a8982613017565b612a93818561302d565b9350612aa38185602086016130be565b612aac816131b2565b840191505092915050565b6000612ac282613017565b612acc818561303e565b9350612adc8185602086016130be565b612ae5816131b2565b840191505092915050565b6000612afb82613017565b612b05818561304f565b9350612b158185602086016130be565b80840191505092915050565b6000612b2e60268361303e565b9150612b39826131c3565b604082019050919050565b6000612b5160168361303e565b9150612b5c82613212565b602082019050919050565b6000612b7460308361303e565b9150612b7f8261323b565b604082019050919050565b6000612b9760188361303e565b9150612ba28261328a565b602082019050919050565b6000612bba60408361303e565b9150612bc5826132b3565b604082019050919050565b6000612bdd601f8361303e565b9150612be882613302565b602082019050919050565b6000612c0060208361303e565b9150612c0b8261332b565b602082019050919050565b6000612c2360258361303e565b9150612c2e82613354565b604082019050919050565b6000612c4660258361303e565b9150612c51826133a3565b604082019050919050565b6000612c69600083613022565b9150612c74826133f2565b600082019050919050565b600060a083016000830151612c976000860182612a24565b506020830151612caa6020860182612a60565b506040830151612cbd6040860182612a42565b506060830151612cd06060860182612a24565b5060808301518482036080860152612ce88282612a7e565b9150508091505092915050565b612cfe816130a5565b82525050565b6000612d108284612af0565b915081905092915050565b6000612d2682612c5c565b9150819050919050565b6000602082019050612d456000830184612a33565b92915050565b600060a082019050612d606000830188612a33565b612d6d6020830187612a6f565b612d7a6040830186612a51565b612d876060830185612a33565b8181036080830152612d998184612ab7565b90509695505050505050565b6000602082019050612dba6000830184612a51565b92915050565b6000602082019050612dd56000830184612a6f565b92915050565b6000604082019050612df06000830185612a6f565b612dfd6020830184612a33565b9392505050565b6000606082019050612e196000830186612a6f565b612e266020830185612a33565b612e336040830184612a33565b949350505050565b6000604082019050612e506000830185612a6f565b612e5d6020830184612a51565b9392505050565b60006020820190508181036000830152612e7d81612b21565b9050919050565b60006020820190508181036000830152612e9d81612b44565b9050919050565b60006020820190508181036000830152612ebd81612b67565b9050919050565b60006020820190508181036000830152612edd81612b8a565b9050919050565b60006020820190508181036000830152612efd81612bad565b9050919050565b60006020820190508181036000830152612f1d81612bd0565b9050919050565b60006020820190508181036000830152612f3d81612bf3565b9050919050565b60006020820190508181036000830152612f5d81612c16565b9050919050565b60006020820190508181036000830152612f7d81612c39565b9050919050565b60006020820190508181036000830152612f9e8184612c7f565b905092915050565b6000602082019050612fbb6000830184612cf5565b92915050565b6000612fcb612fdc565b9050612fd78282613123565b919050565b6000604051905090565b600067ffffffffffffffff82111561300157613000613183565b5b61300a826131b2565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061306582613085565b9050919050565b60008115159050919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156130dc5780820151818401526020810190506130c1565b838111156130eb576000848401525b50505050565b6000600282049050600182168061310957607f821691505b6020821081141561311d5761311c613154565b5b50919050565b61312c826131b2565b810181811067ffffffffffffffff8211171561314b5761314a613183565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f54686572652773206164647265737320636f6e6e656374656420746f2074686160008201527f7420544720494420616c72656164792e00000000000000000000000000000000602082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f596f75722063757272656e742061646472657373206d69736d6174636820776960008201527f746820796f7572207265676973747265642077616c6c65742061646472657373602082015250565b7f796f7520646f6e2774206e6f77206f776e207468697320757365726e616d6500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f746869732066756e6374696f6e20776f726b2773206f6e6c7920666f7220746560008201527f73746e6574000000000000000000000000000000000000000000000000000000602082015250565b7f616c726561647920617070726f766564204f5220646f206e6f7420657869737460008201527f7320796574000000000000000000000000000000000000000000000000000000602082015250565b50565b6133fe8161305a565b811461340957600080fd5b50565b6134158161306c565b811461342057600080fd5b50565b61342c81613078565b811461343757600080fd5b50565b613443816130a5565b811461344e57600080fd5b5056fea2646970667358221220249dd1622c29a32d14d6e13c05efa7dc646f37ce9e788f47c9eabbf86d8d2a6d64736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE CALLVALUE DUP1 ISZERO PUSH3 0x11 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH3 0x32 PUSH3 0x26 PUSH3 0x91 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x99 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH2 0x3E8 PUSH1 0x1 DUP2 SWAP1 SSTORE POP PUSH3 0x4B PUSH3 0x15D PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x2 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x186 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x3487 DUP1 PUSH3 0x196 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6A8EC05E GT PUSH2 0xB6 JUMPI DUP1 PUSH4 0xB910C898 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xB910C898 EQ PUSH2 0x4EE JUMPI DUP1 PUSH4 0xD2114E18 EQ PUSH2 0x517 JUMPI DUP1 PUSH4 0xD2125BD2 EQ PUSH2 0x554 JUMPI DUP1 PUSH4 0xD5998AEB EQ PUSH2 0x57D JUMPI DUP1 PUSH4 0xE37C132B EQ PUSH2 0x599 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x5DA JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x6A8EC05E EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x409 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x420 JUMPI DUP1 PUSH4 0x9413C642 EQ PUSH2 0x44B JUMPI DUP1 PUSH4 0x9421DA61 EQ PUSH2 0x488 JUMPI DUP1 PUSH4 0xB25047C2 EQ PUSH2 0x4B1 JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x48DC1561 GT PUSH2 0x108 JUMPI DUP1 PUSH4 0x48DC1561 EQ PUSH2 0x284 JUMPI DUP1 PUSH4 0x4AC054BB EQ PUSH2 0x2AF JUMPI DUP1 PUSH4 0x59CCA93B EQ PUSH2 0x2EC JUMPI DUP1 PUSH4 0x61CABE37 EQ PUSH2 0x329 JUMPI DUP1 PUSH4 0x65104AFC EQ PUSH2 0x366 JUMPI DUP1 PUSH4 0x65A5637E EQ PUSH2 0x38F JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0xAE50A39 EQ PUSH2 0x150 JUMPI DUP1 PUSH4 0xC2FC6E3 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x1423EA07 EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x1755E9E6 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x21E6531D EQ PUSH2 0x21E JUMPI DUP1 PUSH4 0x239F60FA EQ PUSH2 0x247 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x165 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x172 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x187 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19D SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AF SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DA SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x670 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EC SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x217 SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x845 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x245 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x240 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xC93 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x269 SWAP2 SWAP1 PUSH2 0x289F JUMP JUMPDEST PUSH2 0xE5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27B SWAP2 SWAP1 PUSH2 0x2DA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x290 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x299 PUSH2 0xE8E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A6 SWAP2 SWAP1 PUSH2 0x2FA6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D1 SWAP2 SWAP1 PUSH2 0x289F JUMP JUMPDEST PUSH2 0xE98 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E3 SWAP2 SWAP1 PUSH2 0x2DA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x313 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30E SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xEE0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x320 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x335 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x350 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x34B SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x35D SWAP2 SWAP1 PUSH2 0x2DC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x372 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x38D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x388 SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0xF44 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x39B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B1 SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x12B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C3 SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EE SWAP2 SWAP1 PUSH2 0x297E JUMP JUMPDEST PUSH2 0x1499 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x400 SWAP2 SWAP1 PUSH2 0x2DC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x415 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x41E PUSH2 0x14DF JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x1567 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x442 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x472 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x46D SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x1590 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x47F SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x494 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4AF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4AA SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x15C3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4D3 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0x1982 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4E5 SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x515 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x510 SWAP2 SWAP1 PUSH2 0x28DB JUMP JUMPDEST PUSH2 0x1B65 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x523 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x53E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x539 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x54B SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x560 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x576 SWAP2 SWAP1 PUSH2 0x29FB JUMP JUMPDEST PUSH2 0x1DB9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x597 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x592 SWAP2 SWAP1 PUSH2 0x292A JUMP JUMPDEST PUSH2 0x1E3F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5C0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5BB SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x2176 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2D4B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x601 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5FC SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x228E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x678 PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x7B8 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E4 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x831 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x806 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x831 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x814 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x84D PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x86B PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x8C1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8B8 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x964 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x990 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x9DD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9B2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x9DD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9C0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0xA7A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA71 SWAP1 PUSH2 0x2F64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 POP POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xC4F SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xDDDA54AEBD53F1C2D3F35D7107DDD15F71B313A804DDA2179CDED44927110CD0 DUP3 DUP5 CALLER PUSH1 0x40 MLOAD PUSH2 0xC86 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC9E CALLER PUSH2 0x670 JUMP JUMPDEST SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD12 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD09 SWAP1 PUSH2 0x2F04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x80 ADD DUP2 SWAP1 MSTORE POP DUP1 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xE57 SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x5 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF35 DUP4 PUSH2 0x670 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x20 ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF4C PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xF6A PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xFC0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFB7 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x1063 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x108F SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x10DC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x10B1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x10DC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x10BF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 CHAINID SWAP1 POP PUSH1 0x5 DUP2 EQ PUSH2 0x112B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1122 SWAP1 PUSH2 0x2F44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x11F8 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST POP POP PUSH1 0x3 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1246 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0x511BEC3ED97C7099362D7E7B0ED4FE8AFE6F448A0DCF73F258BE48DCEB302DB DUP4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x12A8 SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH2 0x12BE PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12C9 DUP4 PUSH2 0x62D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x140B SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1437 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1484 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1459 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1484 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1467 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x14B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP2 POP SWAP2 POP SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND DUP2 JUMP JUMPDEST PUSH2 0x14E7 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1505 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x155B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1552 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1565 PUSH1 0x0 PUSH2 0x238E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x15CB PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x15E9 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x163F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1636 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x16E2 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x170E SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x175B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1730 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x175B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x173E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x17EF SWAP1 PUSH2 0x2F64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x18C5 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST POP POP PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x5 DUP2 PUSH1 0x40 MLOAD PUSH2 0x1913 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0x511BEC3ED97C7099362D7E7B0ED4FE8AFE6F448A0DCF73F258BE48DCEB302DB DUP3 DUP5 PUSH1 0x40 MLOAD PUSH2 0x1975 SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x198A PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1995 DUP4 PUSH2 0x1D71 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x1AD7 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1B03 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B50 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B25 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B50 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B33 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B70 DUP5 PUSH2 0x12B6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1BE9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BE0 SWAP1 PUSH2 0x2EE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 ISZERO ISZERO DUP4 ISZERO ISZERO EQ ISZERO PUSH2 0x1CB2 JUMPI PUSH2 0x1C00 DUP6 DUP6 PUSH2 0x2452 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP7 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x7 SIGNEXTEND PUSH32 0xB3CA43859DA7280C9B07097E86CB568999C37FB4232A15E7FFBAE5C6921C2BEF DUP7 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1CA5 SWAP3 SWAP2 SWAP1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH2 0x1D6A JUMP JUMPDEST PUSH2 0x1CBC DUP6 DUP6 PUSH2 0x249F JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP7 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x7 SIGNEXTEND PUSH32 0xB3CA43859DA7280C9B07097E86CB568999C37FB4232A15E7FFBAE5C6921C2BEF DUP7 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1D61 SWAP3 SWAP2 SWAP1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1D83 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DC1 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1DDF PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1E35 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E2C SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP PUSH2 0x1E4F DUP4 DUP3 DUP5 PUSH2 0x24EC JUMP JUMPDEST PUSH1 0x1 SLOAD CALLVALUE EQ PUSH2 0x1E93 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E8A SWAP1 PUSH2 0x2EC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2028 SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xCB042D04619E497175F63CE8EC9B9127CB0BF344FACC37DB4FE8492C2ECFBB9E DUP4 CALLER PUSH1 0x40 MLOAD PUSH2 0x205D SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP3 PUSH1 0x7 SIGNEXTEND PUSH32 0x2D329F0D038DED94203A58E5BE2F2F41B14CBBC49CC1F89443696606F104658C CALLER PUSH1 0x40 MLOAD PUSH2 0x2098 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH2 0x20EA SWAP1 PUSH2 0x2D1B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2127 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x212C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x2170 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2167 SWAP1 PUSH2 0x2E84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x220B SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2237 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2284 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2259 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2284 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2267 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP6 JUMP JUMPDEST PUSH2 0x2296 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x22B4 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x230A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2301 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x237A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2371 SWAP1 PUSH2 0x2E64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2383 DUP2 PUSH2 0x238E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP6 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2594 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x258B SWAP1 PUSH2 0x2EA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x25FD SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x26BA SWAP1 PUSH2 0x30F1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x26DC JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2723 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x26F5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2723 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2723 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2722 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2707 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2730 SWAP2 SWAP1 PUSH2 0x2774 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x2740 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x2752 JUMPI POP PUSH2 0x2771 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2770 SWAP2 SWAP1 PUSH2 0x2774 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x278D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2775 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27A4 PUSH2 0x279F DUP5 PUSH2 0x2FE6 JUMP JUMPDEST PUSH2 0x2FC1 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x27BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x27C7 DUP5 DUP3 DUP6 PUSH2 0x30AF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27DE DUP2 PUSH2 0x33F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27F3 DUP2 PUSH2 0x340C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2808 DUP2 PUSH2 0x3423 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x281F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x282F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2791 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2847 DUP2 PUSH2 0x343A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x285F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x286D DUP5 DUP3 DUP6 ADD PUSH2 0x27CF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2888 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2896 DUP5 DUP3 DUP6 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x28B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x28C0 DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x28D1 DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x28F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x28FE DUP7 DUP3 DUP8 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x290F DUP7 DUP3 DUP8 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2920 DUP7 DUP3 DUP8 ADD PUSH2 0x27E4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x293D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x294B DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2974 DUP6 DUP3 DUP7 ADD PUSH2 0x280E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2991 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x299F DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x29B0 DUP6 DUP3 DUP7 ADD PUSH2 0x2838 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x29F2 DUP5 DUP3 DUP6 ADD PUSH2 0x280E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A1B DUP5 DUP3 DUP6 ADD PUSH2 0x2838 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2A2D DUP2 PUSH2 0x305A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A3C DUP2 PUSH2 0x305A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A4B DUP2 PUSH2 0x306C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A5A DUP2 PUSH2 0x306C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A69 DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A78 DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A89 DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2A93 DUP2 DUP6 PUSH2 0x302D JUMP JUMPDEST SWAP4 POP PUSH2 0x2AA3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST PUSH2 0x2AAC DUP2 PUSH2 0x31B2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AC2 DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2ACC DUP2 DUP6 PUSH2 0x303E JUMP JUMPDEST SWAP4 POP PUSH2 0x2ADC DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST PUSH2 0x2AE5 DUP2 PUSH2 0x31B2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AFB DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2B05 DUP2 DUP6 PUSH2 0x304F JUMP JUMPDEST SWAP4 POP PUSH2 0x2B15 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B2E PUSH1 0x26 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B39 DUP3 PUSH2 0x31C3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B51 PUSH1 0x16 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B5C DUP3 PUSH2 0x3212 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B74 PUSH1 0x30 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B7F DUP3 PUSH2 0x323B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B97 PUSH1 0x18 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BA2 DUP3 PUSH2 0x328A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BBA PUSH1 0x40 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BC5 DUP3 PUSH2 0x32B3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BDD PUSH1 0x1F DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BE8 DUP3 PUSH2 0x3302 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C00 PUSH1 0x20 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C0B DUP3 PUSH2 0x332B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C23 PUSH1 0x25 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C2E DUP3 PUSH2 0x3354 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C46 PUSH1 0x25 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C51 DUP3 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C69 PUSH1 0x0 DUP4 PUSH2 0x3022 JUMP JUMPDEST SWAP2 POP PUSH2 0x2C74 DUP3 PUSH2 0x33F2 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x2C97 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x2A24 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2CAA PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x2A60 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x2CBD PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x2A42 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x2CD0 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x2A24 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x80 DUP7 ADD MSTORE PUSH2 0x2CE8 DUP3 DUP3 PUSH2 0x2A7E JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2CFE DUP2 PUSH2 0x30A5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D10 DUP3 DUP5 PUSH2 0x2AF0 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D26 DUP3 PUSH2 0x2C5C JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2D45 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2D60 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2A33 JUMP JUMPDEST PUSH2 0x2D6D PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2D7A PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2A51 JUMP JUMPDEST PUSH2 0x2D87 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2A33 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x2D99 DUP2 DUP5 PUSH2 0x2AB7 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DBA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A51 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DD5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A6F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2DF0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2DFD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2E19 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2E26 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2A33 JUMP JUMPDEST PUSH2 0x2E33 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2E50 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2E5D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2A51 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E7D DUP2 PUSH2 0x2B21 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E9D DUP2 PUSH2 0x2B44 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EBD DUP2 PUSH2 0x2B67 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EDD DUP2 PUSH2 0x2B8A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EFD DUP2 PUSH2 0x2BAD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F1D DUP2 PUSH2 0x2BD0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F3D DUP2 PUSH2 0x2BF3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F5D DUP2 PUSH2 0x2C16 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F7D DUP2 PUSH2 0x2C39 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F9E DUP2 DUP5 PUSH2 0x2C7F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FBB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2CF5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FCB PUSH2 0x2FDC JUMP JUMPDEST SWAP1 POP PUSH2 0x2FD7 DUP3 DUP3 PUSH2 0x3123 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3001 JUMPI PUSH2 0x3000 PUSH2 0x3183 JUMP JUMPDEST JUMPDEST PUSH2 0x300A DUP3 PUSH2 0x31B2 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3065 DUP3 PUSH2 0x3085 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x7 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x30DC JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x30C1 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x30EB JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3109 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x311D JUMPI PUSH2 0x311C PUSH2 0x3154 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x312C DUP3 PUSH2 0x31B2 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x314B JUMPI PUSH2 0x314A PUSH2 0x3183 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E61626C6520746F207472616E736665722066656500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x54686572652773206164647265737320636F6E6E656374656420746F20746861 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420544720494420616C72656164792E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x50617373706F727420666565206973206E6F7420706169640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x596F75722063757272656E742061646472657373206D69736D61746368207769 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x746820796F7572207265676973747265642077616C6C65742061646472657373 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x796F7520646F6E2774206E6F77206F776E207468697320757365726E616D6500 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x746869732066756E6374696F6E20776F726B2773206F6E6C7920666F72207465 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x73746E6574000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x616C726561647920617070726F766564204F5220646F206E6F74206578697374 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7320796574000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x33FE DUP2 PUSH2 0x305A JUMP JUMPDEST DUP2 EQ PUSH2 0x3409 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3415 DUP2 PUSH2 0x306C JUMP JUMPDEST DUP2 EQ PUSH2 0x3420 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x342C DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP2 EQ PUSH2 0x3437 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3443 DUP2 PUSH2 0x30A5 JUMP JUMPDEST DUP2 EQ PUSH2 0x344E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x24 SWAP14 0xD1 PUSH3 0x2C29A3 0x2D EQ 0xD6 0xE1 EXTCODECOPY SDIV 0xEF 0xA7 0xDC PUSH5 0x6F37CE9E78 DUP16 SELFBALANCE 0xC9 0xEA 0xBB 0xF8 PUSH14 0x8D2A6D64736F6C63430008040033 ", + "sourceMap": "384:8607:12:-:0;;;1862:114;;;;;;;;;;921:32:2;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;1909:8:12::1;1894:12;:23;;;;1963:7;:5;;;:7;;:::i;:::-;1954:6;;:16;;;;;;;;;;;;;;;;;;384:8607:::0;;640:96:7;693:7;719:10;712:17;;640:96;:::o;2270:187:2:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2270:187;;:::o;1036:85::-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;384:8607:12:-;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:24652:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "91:261:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "101:75:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "168:6:14" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "126:41:14" + }, + "nodeType": "YulFunctionCall", + "src": "126:49:14" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "110:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "110:66:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "101:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "192:5:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "199:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "185:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "185:21:14" + }, + "nodeType": "YulExpressionStatement", + "src": "185:21:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "215:27:14", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "230:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "237:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "226:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "226:16:14" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "219:3:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "280:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "289:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "292:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "282:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "282:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "282:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "261:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "266:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "257:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "257:16:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "275:3:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "254:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "254:25:14" + }, + "nodeType": "YulIf", + "src": "251:2:14" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "329:3:14" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "334:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "339:6:14" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "305:23:14" + }, + "nodeType": "YulFunctionCall", + "src": "305:41:14" + }, + "nodeType": "YulExpressionStatement", + "src": "305:41:14" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "64:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "69:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "77:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "85:5:14", + "type": "" + } + ], + "src": "7:345:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "410:87:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "420:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "442:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "429:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "429:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "420:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "485:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "458:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "458:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "458:33:14" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "388:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "396:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "404:5:14", + "type": "" + } + ], + "src": "358:139:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "552:84:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "562:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "584:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "571:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "571:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "562:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "624:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "600:23:14" + }, + "nodeType": "YulFunctionCall", + "src": "600:30:14" + }, + "nodeType": "YulExpressionStatement", + "src": "600:30:14" + } + ] + }, + "name": "abi_decode_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "530:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "538:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "546:5:14", + "type": "" + } + ], + "src": "503:133:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "692:85:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "702:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "724:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "711:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "711:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "702:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "765:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_int64", + "nodeType": "YulIdentifier", + "src": "740:24:14" + }, + "nodeType": "YulFunctionCall", + "src": "740:31:14" + }, + "nodeType": "YulExpressionStatement", + "src": "740:31:14" + } + ] + }, + "name": "abi_decode_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "670:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "678:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "686:5:14", + "type": "" + } + ], + "src": "642:135:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "859:211:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "908:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "917:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "920:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "910:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "910:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "910:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "887:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "895:4:14", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "883:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "883:17:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "902:3:14" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "879:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "879:27:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "872:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "872:35:14" + }, + "nodeType": "YulIf", + "src": "869:2:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "933:34:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "960:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "947:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "947:20:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "937:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "976:88:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1037:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1045:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1033:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1033:17:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1052:6:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1060:3:14" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "985:47:14" + }, + "nodeType": "YulFunctionCall", + "src": "985:79:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "976:5:14" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "837:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "845:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "853:5:14", + "type": "" + } + ], + "src": "797:273:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1128:87:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1138:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1160:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1147:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "1147:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1138:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1203:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1176:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "1176:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1176:33:14" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1106:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1114:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1122:5:14", + "type": "" + } + ], + "src": "1076:139:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1287:196:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1333:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1342:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1345:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1335:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "1335:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1335:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1308:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1317:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1304:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1304:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1329:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1300:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1300:32:14" + }, + "nodeType": "YulIf", + "src": "1297:2:14" + }, + { + "nodeType": "YulBlock", + "src": "1359:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1374:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1388:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1378:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1403:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1438:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1449:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1434:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1434:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1458:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "1413:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "1413:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1403:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1257:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1268:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1280:6:14", + "type": "" + } + ], + "src": "1221:262:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1553:194:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1599:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1608:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1611:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1601:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "1601:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1601:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1574:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1583:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1570:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1570:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1595:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1566:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1566:32:14" + }, + "nodeType": "YulIf", + "src": "1563:2:14" + }, + { + "nodeType": "YulBlock", + "src": "1625:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1640:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1654:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1644:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1669:61:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1702:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1713:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1698:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1698:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1722:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "1679:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "1679:51:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1669:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1523:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1534:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1546:6:14", + "type": "" + } + ], + "src": "1489:258:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1832:320:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1878:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1887:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1890:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1880:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "1880:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1880:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "1853:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1862:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "1849:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1849:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1874:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1845:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1845:32:14" + }, + "nodeType": "YulIf", + "src": "1842:2:14" + }, + { + "nodeType": "YulBlock", + "src": "1904:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "1919:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1933:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1923:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1948:61:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "1981:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1992:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1977:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1977:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2001:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "1958:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "1958:51:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "1948:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2029:116:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2044:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2058:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2048:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2074:61:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2107:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2118:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2103:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2103:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2127:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "2084:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "2084:51:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2074:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "1794:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "1805:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "1817:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "1825:6:14", + "type": "" + } + ], + "src": "1753:399:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2251:445:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2297:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2306:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2309:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2299:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "2299:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "2299:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2272:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2281:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2268:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2268:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2293:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2264:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2264:32:14" + }, + "nodeType": "YulIf", + "src": "2261:2:14" + }, + { + "nodeType": "YulBlock", + "src": "2323:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2338:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2352:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2342:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2367:61:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2400:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2411:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2396:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2396:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2420:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "2377:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "2377:51:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2367:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2448:116:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2463:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2477:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2467:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2493:61:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2526:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2537:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2522:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2522:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2546:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "2503:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "2503:51:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "2493:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2574:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2589:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2603:2:14", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2593:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2619:60:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2651:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2662:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2647:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2647:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2671:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bool", + "nodeType": "YulIdentifier", + "src": "2629:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "2629:50:14" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "2619:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64t_int64t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2205:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2216:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2228:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2236:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "2244:6:14", + "type": "" + } + ], + "src": "2158:538:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2793:425:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2839:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2848:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2851:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2841:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "2841:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "2841:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2814:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2823:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2810:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2810:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2835:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2806:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2806:32:14" + }, + "nodeType": "YulIf", + "src": "2803:2:14" + }, + { + "nodeType": "YulBlock", + "src": "2865:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2880:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2894:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2884:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2909:61:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2942:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2953:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2938:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2938:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2962:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "2919:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "2919:51:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2909:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "2990:221:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3005:46:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3036:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3047:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3032:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3032:18:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3019:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "3019:32:14" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3009:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3098:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3107:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3110:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3100:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "3100:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3100:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3070:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3078:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3067:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "3067:30:14" + }, + "nodeType": "YulIf", + "src": "3064:2:14" + }, + { + "nodeType": "YulAssignment", + "src": "3128:73:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3173:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3184:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3169:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3169:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3193:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3138:30:14" + }, + "nodeType": "YulFunctionCall", + "src": "3138:63:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3128:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2755:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2766:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2778:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "2786:6:14", + "type": "" + } + ], + "src": "2702:516:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3305:322:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3351:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3360:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3363:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3353:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "3353:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3353:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3326:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3335:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3322:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3322:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3347:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3318:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3318:32:14" + }, + "nodeType": "YulIf", + "src": "3315:2:14" + }, + { + "nodeType": "YulBlock", + "src": "3377:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3392:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3406:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3396:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3421:61:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3454:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3465:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3450:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3450:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3474:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "3431:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "3431:51:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3421:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3502:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3517:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3531:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3521:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3547:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3582:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3593:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3578:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3578:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3602:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "3557:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "3557:53:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3547:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3267:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3278:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3290:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3298:6:14", + "type": "" + } + ], + "src": "3224:403:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3709:299:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3755:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3764:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3767:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3757:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "3757:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3757:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3730:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3739:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3726:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3726:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3751:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3722:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3722:32:14" + }, + "nodeType": "YulIf", + "src": "3719:2:14" + }, + { + "nodeType": "YulBlock", + "src": "3781:220:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3796:45:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3827:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3838:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3823:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3823:17:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "3810:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "3810:31:14" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3800:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3888:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3897:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3900:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3890:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "3890:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3890:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3860:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3868:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "3857:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "3857:30:14" + }, + "nodeType": "YulIf", + "src": "3854:2:14" + }, + { + "nodeType": "YulAssignment", + "src": "3918:73:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3963:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3974:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3959:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3959:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3983:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "3928:30:14" + }, + "nodeType": "YulFunctionCall", + "src": "3928:63:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3918:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3679:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3690:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3702:6:14", + "type": "" + } + ], + "src": "3633:375:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4080:196:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4126:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4135:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4138:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4128:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "4128:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4128:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4101:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4110:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4097:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4097:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4122:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4093:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4093:32:14" + }, + "nodeType": "YulIf", + "src": "4090:2:14" + }, + { + "nodeType": "YulBlock", + "src": "4152:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4167:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4181:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4171:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4196:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4231:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4242:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4227:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4227:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4251:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "4206:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "4206:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4196:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4050:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4061:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4073:6:14", + "type": "" + } + ], + "src": "4014:262:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4337:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4354:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4377:5:14" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "4359:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "4359:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4347:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "4347:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4347:37:14" + } + ] + }, + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4325:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4332:3:14", + "type": "" + } + ], + "src": "4282:108:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4461:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4478:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4501:5:14" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "4483:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "4483:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4471:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "4471:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4471:37:14" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4449:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4456:3:14", + "type": "" + } + ], + "src": "4396:118:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4569:50:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4586:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4606:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "4591:14:14" + }, + "nodeType": "YulFunctionCall", + "src": "4591:21:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4579:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "4579:34:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4579:34:14" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4557:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4564:3:14", + "type": "" + } + ], + "src": "4520:99:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4684:50:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4701:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4721:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "4706:14:14" + }, + "nodeType": "YulFunctionCall", + "src": "4706:21:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4694:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "4694:34:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4694:34:14" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4672:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4679:3:14", + "type": "" + } + ], + "src": "4625:109:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4791:51:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4808:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4829:5:14" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "4813:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "4813:22:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4801:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "4801:35:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4801:35:14" + } + ] + }, + "name": "abi_encode_t_int64_to_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4779:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4786:3:14", + "type": "" + } + ], + "src": "4740:102:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4909:51:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "4926:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "4947:5:14" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "4931:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "4931:22:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "4919:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "4919:35:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4919:35:14" + } + ] + }, + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "4897:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "4904:3:14", + "type": "" + } + ], + "src": "4848:112:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5048:262:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5058:53:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5105:5:14" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5072:32:14" + }, + "nodeType": "YulFunctionCall", + "src": "5072:39:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5062:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5120:68:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5176:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5181:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5127:48:14" + }, + "nodeType": "YulFunctionCall", + "src": "5127:61:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5120:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5223:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5230:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5219:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5219:16:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5237:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5242:6:14" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "5197:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "5197:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "5197:52:14" + }, + { + "nodeType": "YulAssignment", + "src": "5258:46:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5269:3:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5296:6:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "5274:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "5274:29:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5265:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5265:39:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5258:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5029:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5036:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5044:3:14", + "type": "" + } + ], + "src": "4966:344:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5408:272:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5418:53:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5465:5:14" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5432:32:14" + }, + "nodeType": "YulFunctionCall", + "src": "5432:39:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5422:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5480:78:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5546:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5551:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "5487:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "5487:71:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5480:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5593:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5600:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5589:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5589:16:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5607:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5612:6:14" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "5567:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "5567:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "5567:52:14" + }, + { + "nodeType": "YulAssignment", + "src": "5628:46:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5639:3:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5666:6:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "5644:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "5644:29:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5635:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5635:39:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "5628:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5389:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5396:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5404:3:14", + "type": "" + } + ], + "src": "5316:364:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5796:267:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5806:53:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5853:5:14" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5820:32:14" + }, + "nodeType": "YulFunctionCall", + "src": "5820:39:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "5810:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5868:96:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5952:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "5957:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "5875:76:14" + }, + "nodeType": "YulFunctionCall", + "src": "5875:89:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "5868:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "5999:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6006:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5995:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5995:16:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6013:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6018:6:14" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "5973:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "5973:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "5973:52:14" + }, + { + "nodeType": "YulAssignment", + "src": "6034:23:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6045:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "6050:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6041:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6041:16:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6034:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "5777:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "5784:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "5792:3:14", + "type": "" + } + ], + "src": "5686:377:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6215:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6225:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6291:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6296:2:14", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6232:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "6232:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6225:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6397:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulIdentifier", + "src": "6308:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "6308:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6308:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "6410:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6421:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6426:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6417:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6417:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6410:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6203:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6211:3:14", + "type": "" + } + ], + "src": "6069:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6587:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6597:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6663:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6668:2:14", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6604:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "6604:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6597:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6769:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "nodeType": "YulIdentifier", + "src": "6680:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "6680:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6680:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "6782:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6793:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6798:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6789:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6789:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "6782:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6575:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6583:3:14", + "type": "" + } + ], + "src": "6441:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6959:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "6969:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7035:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7040:2:14", + "type": "", + "value": "48" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "6976:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "6976:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6969:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7141:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4", + "nodeType": "YulIdentifier", + "src": "7052:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "7052:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7052:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "7154:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7165:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7170:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7161:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7161:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7154:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6947:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "6955:3:14", + "type": "" + } + ], + "src": "6813:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7331:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7341:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7407:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7412:2:14", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7348:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "7348:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7341:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7513:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "nodeType": "YulIdentifier", + "src": "7424:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "7424:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7424:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "7526:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7537:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7542:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7533:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7533:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7526:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7319:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7327:3:14", + "type": "" + } + ], + "src": "7185:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7703:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "7713:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7779:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7784:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7720:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "7720:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7713:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7885:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a", + "nodeType": "YulIdentifier", + "src": "7796:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "7796:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7796:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "7898:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7909:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7914:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7905:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7905:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7898:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7691:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7699:3:14", + "type": "" + } + ], + "src": "7557:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8075:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8085:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8151:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8156:2:14", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8092:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "8092:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8085:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8257:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2", + "nodeType": "YulIdentifier", + "src": "8168:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "8168:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8168:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "8270:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8281:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8286:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8277:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8277:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8270:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8063:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8071:3:14", + "type": "" + } + ], + "src": "7929:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8447:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8457:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8523:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8528:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8464:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "8464:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8457:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8629:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulIdentifier", + "src": "8540:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "8540:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8540:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "8642:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8653:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8658:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8649:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8649:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8642:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8435:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8443:3:14", + "type": "" + } + ], + "src": "8301:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8819:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8829:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8895:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8900:2:14", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8836:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "8836:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8829:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9001:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f", + "nodeType": "YulIdentifier", + "src": "8912:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "8912:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8912:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "9014:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9025:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9030:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9021:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9021:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9014:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8807:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8815:3:14", + "type": "" + } + ], + "src": "8673:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9191:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9201:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9267:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9272:2:14", + "type": "", + "value": "37" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9208:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "9208:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9201:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9373:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "nodeType": "YulIdentifier", + "src": "9284:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "9284:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "9284:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "9386:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9397:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9402:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9393:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9393:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9386:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9179:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9187:3:14", + "type": "" + } + ], + "src": "9045:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9580:235:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9590:90:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9673:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9678:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "9597:75:14" + }, + "nodeType": "YulFunctionCall", + "src": "9597:83:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9590:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9778:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nodeType": "YulIdentifier", + "src": "9689:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "9689:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "9689:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "9791:18:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9802:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9807:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9798:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9798:11:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9791:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9568:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9576:3:14", + "type": "" + } + ], + "src": "9417:398:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10011:1018:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10021:26:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10037:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10042:4:14", + "type": "", + "value": "0xa0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10033:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10033:14:14" + }, + "variables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "10025:4:14", + "type": "" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10057:171:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10099:43:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10129:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10136:4:14", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10125:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10125:16:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10119:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "10119:23:14" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10103:12:14", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10189:12:14" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10207:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10212:4:14", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10203:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10203:14:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "10155:33:14" + }, + "nodeType": "YulFunctionCall", + "src": "10155:63:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10155:63:14" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10238:160:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10273:43:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10303:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10310:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10299:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10299:16:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10293:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "10293:23:14" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10277:12:14", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10359:12:14" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10377:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10382:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10373:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10373:14:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64", + "nodeType": "YulIdentifier", + "src": "10329:29:14" + }, + "nodeType": "YulFunctionCall", + "src": "10329:59:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10329:59:14" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10408:159:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10444:43:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10474:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10481:4:14", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10470:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10470:16:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10464:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "10464:23:14" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10448:12:14", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10528:12:14" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10546:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10551:4:14", + "type": "", + "value": "0x40" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10542:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10542:14:14" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool", + "nodeType": "YulIdentifier", + "src": "10500:27:14" + }, + "nodeType": "YulFunctionCall", + "src": "10500:57:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10500:57:14" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10577:176:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10624:43:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10654:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10661:4:14", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10650:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10650:16:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10644:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "10644:23:14" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10628:12:14", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10714:12:14" + }, + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10732:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10737:4:14", + "type": "", + "value": "0x60" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10728:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10728:14:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address", + "nodeType": "YulIdentifier", + "src": "10680:33:14" + }, + "nodeType": "YulFunctionCall", + "src": "10680:63:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10680:63:14" + } + ] + }, + { + "nodeType": "YulBlock", + "src": "10763:239:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "10802:43:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "10832:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10839:4:14", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10828:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10828:16:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "10822:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "10822:23:14" + }, + "variables": [ + { + "name": "memberValue0", + "nodeType": "YulTypedName", + "src": "10806:12:14", + "type": "" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10870:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10875:4:14", + "type": "", + "value": "0x80" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10866:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10866:14:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10886:4:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10892:3:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "10882:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10882:14:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "10859:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "10859:38:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10859:38:14" + }, + { + "nodeType": "YulAssignment", + "src": "10910:81:14", + "value": { + "arguments": [ + { + "name": "memberValue0", + "nodeType": "YulIdentifier", + "src": "10972:12:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10986:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "10918:53:14" + }, + "nodeType": "YulFunctionCall", + "src": "10918:73:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "10910:4:14" + } + ] + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11012:11:14", + "value": { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11019:4:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11012:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_struct$_Passport_$1091_memory_ptr_to_t_struct$_Passport_$1091_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "9990:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9997:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10006:3:14", + "type": "" + } + ], + "src": "9885:1144:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11100:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11117:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "11140:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "11122:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "11122:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "11110:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "11110:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11110:37:14" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "11088:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11095:3:14", + "type": "" + } + ], + "src": "11035:118:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11295:139:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11306:102:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "11395:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11404:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "11313:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "11313:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11306:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11418:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11425:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11418:3:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11274:3:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11280:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11291:3:14", + "type": "" + } + ], + "src": "11159:275:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11628:191:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11639:154:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11789:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "11646:141:14" + }, + "nodeType": "YulFunctionCall", + "src": "11646:147:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11639:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "11803:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11810:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11803:3:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11615:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11624:3:14", + "type": "" + } + ], + "src": "11440:379:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11923:124:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11933:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "11945:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11956:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11941:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11941:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "11933:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12013:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12026:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12037:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12022:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12022:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "11969:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "11969:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11969:71:14" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "11895:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "11907:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "11918:4:14", + "type": "" + } + ], + "src": "11825:222:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12273:515:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12283:27:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12295:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12306:3:14", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12291:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12291:19:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12283:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12364:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12377:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12388:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12373:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12373:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "12320:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "12320:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12320:71:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "12441:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12454:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12465:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12450:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12450:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "12401:39:14" + }, + "nodeType": "YulFunctionCall", + "src": "12401:68:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12401:68:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "12517:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12530:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12541:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12526:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12526:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "12479:37:14" + }, + "nodeType": "YulFunctionCall", + "src": "12479:66:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12479:66:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "12599:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12612:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12623:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12608:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12608:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "12555:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "12555:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12555:72:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12648:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12659:3:14", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12644:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12644:19:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12669:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12675:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "12665:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12665:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12637:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12637:49:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12637:49:14" + }, + { + "nodeType": "YulAssignment", + "src": "12695:86:14", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "12767:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12776:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12703:63:14" + }, + "nodeType": "YulFunctionCall", + "src": "12703:78:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12695:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_int64_t_bool_t_address_t_string_memory_ptr__to_t_address_t_int64_t_bool_t_address_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12213:9:14", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "12225:6:14", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "12233:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "12241:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "12249:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12257:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12268:4:14", + "type": "" + } + ], + "src": "12053:735:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12886:118:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12896:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12908:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12919:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12904:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12904:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "12896:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "12970:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "12983:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12994:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12979:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12979:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "12932:37:14" + }, + "nodeType": "YulFunctionCall", + "src": "12932:65:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12932:65:14" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "12858:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "12870:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "12881:4:14", + "type": "" + } + ], + "src": "12794:210:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13104:120:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13114:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13126:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13137:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13122:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13122:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13114:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13190:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13203:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13214:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13199:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13199:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "13150:39:14" + }, + "nodeType": "YulFunctionCall", + "src": "13150:67:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13150:67:14" + } + ] + }, + "name": "abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13076:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13088:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13099:4:14", + "type": "" + } + ], + "src": "13010:214:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13352:202:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13362:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13374:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13385:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13370:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13370:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13362:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13438:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13451:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13462:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13447:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13447:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "13398:39:14" + }, + "nodeType": "YulFunctionCall", + "src": "13398:67:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13398:67:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13519:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13532:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13543:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13528:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13528:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "13475:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "13475:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13475:72:14" + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_address__to_t_int64_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13316:9:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13328:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13336:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13347:4:14", + "type": "" + } + ], + "src": "13230:324:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13710:284:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13720:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13732:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13743:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13728:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13728:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "13720:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "13796:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13809:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13820:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13805:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13805:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "13756:39:14" + }, + "nodeType": "YulFunctionCall", + "src": "13756:67:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13756:67:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "13877:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13890:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13901:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13886:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13886:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "13833:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "13833:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13833:72:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "13959:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "13972:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "13983:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "13968:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "13968:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "13915:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "13915:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "13915:72:14" + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_address_t_address__to_t_int64_t_address_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "13666:9:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "13678:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13686:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13694:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "13705:4:14", + "type": "" + } + ], + "src": "13560:434:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14116:196:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14126:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14138:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14149:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14134:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14134:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14126:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14202:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14215:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14226:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14211:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14211:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "14162:39:14" + }, + "nodeType": "YulFunctionCall", + "src": "14162:67:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14162:67:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "14277:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14290:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14301:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14286:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14286:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "14239:37:14" + }, + "nodeType": "YulFunctionCall", + "src": "14239:66:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14239:66:14" + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_bool__to_t_int64_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14080:9:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14092:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14100:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14111:4:14", + "type": "" + } + ], + "src": "14000:312:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14489:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14499:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14511:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14522:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14507:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14507:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14499:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14546:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14557:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14542:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14542:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14565:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14571:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14561:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14561:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14535:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "14535:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14535:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "14591:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14725:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "14599:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "14599:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14591:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14469:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14484:4:14", + "type": "" + } + ], + "src": "14318:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14914:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14924:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14936:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14947:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14932:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14932:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14924:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14971:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14982:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14967:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14967:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14990:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14996:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "14986:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14986:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "14960:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "14960:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14960:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "15016:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15150:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15024:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "15024:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15016:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14894:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14909:4:14", + "type": "" + } + ], + "src": "14743:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15339:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15349:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15361:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15372:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15357:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15357:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15349:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15396:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15407:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15392:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15392:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15415:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15421:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15411:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15411:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15385:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "15385:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15385:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "15441:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15575:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15449:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "15449:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15441:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15319:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15334:4:14", + "type": "" + } + ], + "src": "15168:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15764:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15774:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15786:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15797:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15782:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15782:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15774:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15821:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15832:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15817:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15817:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15840:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15846:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15836:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15836:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15810:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "15810:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15810:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "15866:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16000:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15874:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "15874:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15866:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15744:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15759:4:14", + "type": "" + } + ], + "src": "15593:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16189:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16199:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16211:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16222:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16207:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16207:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16199:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16246:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16257:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16242:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16242:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16265:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16271:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16261:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16261:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16235:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "16235:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16235:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "16291:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16425:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16299:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "16299:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16291:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16169:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16184:4:14", + "type": "" + } + ], + "src": "16018:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16614:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16624:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16636:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16647:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16632:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16632:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16624:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16671:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16682:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16667:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16667:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16690:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16696:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "16686:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16686:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "16660:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "16660:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16660:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "16716:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16850:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "16724:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "16724:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16716:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16594:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16609:4:14", + "type": "" + } + ], + "src": "16443:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17039:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17049:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17061:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17072:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17057:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17057:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17049:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17096:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17107:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17092:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17092:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17115:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17121:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17111:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17111:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17085:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "17085:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17085:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "17141:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17275:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17149:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "17149:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17141:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17019:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17034:4:14", + "type": "" + } + ], + "src": "16868:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17464:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17474:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17486:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17497:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17482:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17482:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17474:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17521:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17532:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17517:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17517:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17540:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17546:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17536:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17536:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17510:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "17510:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17510:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "17566:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17700:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17574:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "17574:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17566:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17444:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17459:4:14", + "type": "" + } + ], + "src": "17293:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17889:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17899:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17911:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17922:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17907:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17907:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17899:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17946:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17957:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17942:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17942:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17965:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17971:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17961:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17961:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17935:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "17935:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17935:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "17991:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18125:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17999:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "17999:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17991:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17869:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17884:4:14", + "type": "" + } + ], + "src": "17718:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18293:227:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18303:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18315:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18326:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18311:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18311:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18303:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18350:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18361:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18346:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18346:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18369:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18375:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18365:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18365:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18339:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "18339:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18339:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "18395:118:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18499:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18508:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_struct$_Passport_$1091_memory_ptr_to_t_struct$_Passport_$1091_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18403:95:14" + }, + "nodeType": "YulFunctionCall", + "src": "18403:110:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18395:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_struct$_Passport_$1091_memory_ptr__to_t_struct$_Passport_$1091_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18265:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18277:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18288:4:14", + "type": "" + } + ], + "src": "18143:377:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18624:124:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18634:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18646:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18657:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18642:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18642:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18634:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18714:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18727:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18738:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18723:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18723:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "18670:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "18670:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18670:71:14" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18596:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18608:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18619:4:14", + "type": "" + } + ], + "src": "18526:222:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18795:88:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18805:30:14", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "18815:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "18815:20:14" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18805:6:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18864:6:14" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "18872:4:14" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "18844:19:14" + }, + "nodeType": "YulFunctionCall", + "src": "18844:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18844:33:14" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "18779:4:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18788:6:14", + "type": "" + } + ], + "src": "18754:129:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18929:35:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18939:19:14", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18955:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "18949:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "18949:9:14" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "18939:6:14" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "18922:6:14", + "type": "" + } + ], + "src": "18889:75:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19037:241:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "19142:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "19144:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "19144:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19144:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19114:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19122:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "19111:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "19111:30:14" + }, + "nodeType": "YulIf", + "src": "19108:2:14" + }, + { + "nodeType": "YulAssignment", + "src": "19174:37:14", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19204:6:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "19182:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "19182:29:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "19174:4:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "19248:23:14", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "19260:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19266:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19256:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19256:15:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "19248:4:14" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19021:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "19032:4:14", + "type": "" + } + ], + "src": "18970:308:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19343:40:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19354:22:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "19370:5:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "19364:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "19364:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19354:6:14" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "19326:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19336:6:14", + "type": "" + } + ], + "src": "19284:99:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19502:34:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19512:18:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19527:3:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "19512:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19474:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19479:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "19490:11:14", + "type": "" + } + ], + "src": "19389:147:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19628:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19645:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19650:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19638:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "19638:19:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19638:19:14" + }, + { + "nodeType": "YulAssignment", + "src": "19666:29:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19685:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19690:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19681:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19681:14:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "19666:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19600:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19605:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "19616:11:14", + "type": "" + } + ], + "src": "19542:159:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19803:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19820:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "19825:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19813:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "19813:19:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19813:19:14" + }, + { + "nodeType": "YulAssignment", + "src": "19841:29:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "19860:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19865:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19856:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19856:14:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "19841:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19775:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19780:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "19791:11:14", + "type": "" + } + ], + "src": "19707:169:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19996:34:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20006:18:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "20021:3:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "20006:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "19968:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "19973:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "19984:11:14", + "type": "" + } + ], + "src": "19882:148:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20081:51:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20091:35:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20120:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "20102:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "20102:24:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20091:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20063:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20073:7:14", + "type": "" + } + ], + "src": "20036:96:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20180:48:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20190:32:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20215:5:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "20208:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "20208:13:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "20201:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "20201:21:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20190:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20162:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20172:7:14", + "type": "" + } + ], + "src": "20138:90:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20277:47:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20287:31:14", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20309:1:14", + "type": "", + "value": "7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20312:5:14" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "20298:10:14" + }, + "nodeType": "YulFunctionCall", + "src": "20298:20:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20287:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20259:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20269:7:14", + "type": "" + } + ], + "src": "20234:90:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20375:81:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20385:65:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20400:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20407:42:14", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "20396:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20396:54:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20385:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20357:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20367:7:14", + "type": "" + } + ], + "src": "20330:126:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20507:32:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20517:16:14", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "20528:5:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "20517:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "20489:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "20499:7:14", + "type": "" + } + ], + "src": "20462:77:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20596:103:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "20619:3:14" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "20624:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20629:6:14" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "20606:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "20606:30:14" + }, + "nodeType": "YulExpressionStatement", + "src": "20606:30:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "20677:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20682:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20673:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20673:16:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20691:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20666:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "20666:27:14" + }, + "nodeType": "YulExpressionStatement", + "src": "20666:27:14" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "20578:3:14", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "20583:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "20588:6:14", + "type": "" + } + ], + "src": "20545:154:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20754:258:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "20764:10:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20773:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "20768:1:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20833:63:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "20858:3:14" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20863:1:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20854:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20854:11:14" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "20877:3:14" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20882:1:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20873:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20873:11:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "20867:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "20867:18:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20847:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "20847:39:14" + }, + "nodeType": "YulExpressionStatement", + "src": "20847:39:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20794:1:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20797:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "20791:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "20791:13:14" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "20805:19:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20807:15:14", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20816:1:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20819:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20812:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20812:10:14" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20807:1:14" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "20787:3:14", + "statements": [] + }, + "src": "20783:113:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20930:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "20980:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20985:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20976:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20976:16:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20994:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20969:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "20969:27:14" + }, + "nodeType": "YulExpressionStatement", + "src": "20969:27:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "20911:1:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "20914:6:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "20908:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "20908:13:14" + }, + "nodeType": "YulIf", + "src": "20905:2:14" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "20736:3:14", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "20741:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "20746:6:14", + "type": "" + } + ], + "src": "20705:307:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21069:269:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21079:22:14", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "21093:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21099:1:14", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "21089:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21089:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21079:6:14" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "21110:38:14", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "21140:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21146:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "21136:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21136:12:14" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "21114:18:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21187:51:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21201:27:14", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21215:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21223:4:14", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "21211:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21211:17:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21201:6:14" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "21167:18:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "21160:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21160:26:14" + }, + "nodeType": "YulIf", + "src": "21157:2:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21290:42:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "21304:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "21304:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21304:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "21254:18:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "21277:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21285:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "21274:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "21274:14:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "21251:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "21251:38:14" + }, + "nodeType": "YulIf", + "src": "21248:2:14" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "21053:4:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "21062:6:14", + "type": "" + } + ], + "src": "21018:320:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21387:238:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "21397:58:14", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21419:6:14" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "21449:4:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "21427:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "21427:27:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21415:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21415:40:14" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "21401:10:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21566:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "21568:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "21568:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21568:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "21509:10:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21521:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "21506:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "21506:34:14" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "21545:10:14" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "21557:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "21542:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "21542:22:14" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "21503:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "21503:62:14" + }, + "nodeType": "YulIf", + "src": "21500:2:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21604:2:14", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "21608:10:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21597:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21597:22:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21597:22:14" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "21373:6:14", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "21381:4:14", + "type": "" + } + ], + "src": "21344:281:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21659:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21676:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21679:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21669:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21669:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21669:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21773:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21776:4:14", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21766:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21766:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21766:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21797:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21800:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "21790:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21790:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21790:15:14" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "21631:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21845:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21862:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21865:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21855:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21855:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21855:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21959:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21962:4:14", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21952:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21952:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21952:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21983:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21986:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "21976:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21976:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21976:15:14" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "21817:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22051:54:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22061:38:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "22079:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22086:2:14", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22075:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22075:14:14" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22095:2:14", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "22091:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22091:7:14" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "22071:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22071:28:14" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "22061:6:14" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "22034:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "22044:6:14", + "type": "" + } + ], + "src": "22003:102:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22217:119:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22239:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22247:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22235:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22235:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22251:34:14", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22228:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22228:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22228:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22307:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22315:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22303:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22303:15:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22320:8:14", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22296:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22296:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22296:33:14" + } + ] + }, + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22209:6:14", + "type": "" + } + ], + "src": "22111:225:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22448:66:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22470:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22478:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22466:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22466:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22482:24:14", + "type": "", + "value": "Unable to transfer fee" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22459:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22459:48:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22459:48:14" + } + ] + }, + "name": "store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22440:6:14", + "type": "" + } + ], + "src": "22342:172:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22626:129:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22648:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22656:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22644:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22644:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22660:34:14", + "type": "", + "value": "There's address connected to tha" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22637:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22637:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22637:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22716:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22724:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22712:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22712:15:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22729:18:14", + "type": "", + "value": "t TG ID already." + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22705:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22705:43:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22705:43:14" + } + ] + }, + "name": "store_literal_in_memory_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22618:6:14", + "type": "" + } + ], + "src": "22520:235:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22867:68:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "22889:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22897:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22885:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22885:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "22901:26:14", + "type": "", + "value": "Passport fee is not paid" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22878:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22878:50:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22878:50:14" + } + ] + }, + "name": "store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "22859:6:14", + "type": "" + } + ], + "src": "22761:174:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23047:145:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23069:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23077:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23065:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23065:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23081:34:14", + "type": "", + "value": "Your current address mismatch wi" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23058:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23058:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23058:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23137:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23145:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23133:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23133:15:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23150:34:14", + "type": "", + "value": "th your registred wallet address" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23126:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23126:59:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23126:59:14" + } + ] + }, + "name": "store_literal_in_memory_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23039:6:14", + "type": "" + } + ], + "src": "22941:251:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23304:75:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23326:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23334:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23322:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23322:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23338:33:14", + "type": "", + "value": "you don't now own this username" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23315:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23315:57:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23315:57:14" + } + ] + }, + "name": "store_literal_in_memory_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23296:6:14", + "type": "" + } + ], + "src": "23198:181:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23491:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23513:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23521:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23509:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23509:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23525:34:14", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23502:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23502:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23502:58:14" + } + ] + }, + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23483:6:14", + "type": "" + } + ], + "src": "23385:182:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23679:118:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23701:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23709:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23697:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23697:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23713:34:14", + "type": "", + "value": "this function work's only for te" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23690:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23690:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23690:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23769:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23777:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23765:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23765:15:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23782:7:14", + "type": "", + "value": "stnet" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23758:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23758:32:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23758:32:14" + } + ] + }, + "name": "store_literal_in_memory_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23671:6:14", + "type": "" + } + ], + "src": "23573:224:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23909:118:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23931:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23939:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23927:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23927:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "23943:34:14", + "type": "", + "value": "already approved OR do not exist" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23920:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23920:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23920:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "23999:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24007:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23995:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23995:15:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "24012:7:14", + "type": "", + "value": "s yet" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23988:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23988:32:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23988:32:14" + } + ] + }, + "name": "store_literal_in_memory_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "23901:6:14", + "type": "" + } + ], + "src": "23803:224:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24139:8:14", + "statements": [] + }, + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24131:6:14", + "type": "" + } + ], + "src": "24033:114:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24196:79:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24253:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24262:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24265:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24255:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24255:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "24255:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24219:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24244:5:14" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "24226:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "24226:24:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24216:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "24216:35:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "24209:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24209:43:14" + }, + "nodeType": "YulIf", + "src": "24206:2:14" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24189:5:14", + "type": "" + } + ], + "src": "24153:122:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24321:76:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24375:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24384:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24387:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24377:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24377:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "24377:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24344:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24366:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "24351:14:14" + }, + "nodeType": "YulFunctionCall", + "src": "24351:21:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24341:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "24341:32:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "24334:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24334:40:14" + }, + "nodeType": "YulIf", + "src": "24331:2:14" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24314:5:14", + "type": "" + } + ], + "src": "24281:116:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24444:77:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24499:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24508:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24511:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24501:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24501:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "24501:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24467:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24490:5:14" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "24474:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "24474:22:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24464:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "24464:33:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "24457:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24457:41:14" + }, + "nodeType": "YulIf", + "src": "24454:2:14" + } + ] + }, + "name": "validator_revert_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24437:5:14", + "type": "" + } + ], + "src": "24403:118:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24570:79:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24627:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24636:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24639:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "24629:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24629:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "24629:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24593:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24618:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "24600:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "24600:24:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "24590:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "24590:35:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "24583:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24583:43:14" + }, + "nodeType": "YulIf", + "src": "24580:2:14" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24563:5:14", + "type": "" + } + ], + "src": "24527:122:14" + } + ] + }, + "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_bool(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_t_int64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int64(value)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64t_int64(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64t_int64t_bool(headStart, dataEnd) -> value0, value1, value2 {\n if slt(sub(dataEnd, headStart), 96) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_bool(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64t_string_memory_ptr(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 32))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value1 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64t_uint256(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_string_memory_ptr(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := calldataload(add(headStart, 0))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value0 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_int64_to_t_int64(value, pos) {\n mstore(pos, cleanup_t_int64(value))\n }\n\n function abi_encode_t_int64_to_t_int64_fromStack(value, pos) {\n mstore(pos, cleanup_t_int64(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 48)\n store_literal_in_memory_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 64)\n store_literal_in_memory_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 31)\n store_literal_in_memory_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 37)\n store_literal_in_memory_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\n }\n\n // struct TGPassport.Passport -> struct TGPassport.Passport\n function abi_encode_t_struct$_Passport_$1091_memory_ptr_to_t_struct$_Passport_$1091_memory_ptr_fromStack(value, pos) -> end {\n let tail := add(pos, 0xa0)\n\n {\n // userAddress\n\n let memberValue0 := mload(add(value, 0x00))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x00))\n }\n\n {\n // tgId\n\n let memberValue0 := mload(add(value, 0x20))\n abi_encode_t_int64_to_t_int64(memberValue0, add(pos, 0x20))\n }\n\n {\n // valid\n\n let memberValue0 := mload(add(value, 0x40))\n abi_encode_t_bool_to_t_bool(memberValue0, add(pos, 0x40))\n }\n\n {\n // validatorAddress\n\n let memberValue0 := mload(add(value, 0x60))\n abi_encode_t_address_to_t_address(memberValue0, add(pos, 0x60))\n }\n\n {\n // userName\n\n let memberValue0 := mload(add(value, 0x80))\n\n mstore(add(pos, 0x80), sub(tail, pos))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr(memberValue0, tail)\n\n }\n\n end := tail\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_packed_t_string_memory_ptr__to_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value0) -> end {\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n pos := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_int64_t_bool_t_address_t_string_memory_ptr__to_t_address_t_int64_t_bool_t_address_t_string_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_int64_to_t_int64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bool_to_t_bool_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value4, tail)\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_int64_t_address__to_t_int64_t_address__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_int64_t_address_t_address__to_t_int64_t_address_t_address__fromStack_reversed(headStart , value2, value1, value0) -> tail {\n tail := add(headStart, 96)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n }\n\n function abi_encode_tuple_t_int64_t_bool__to_t_int64_t_bool__fromStack_reversed(headStart , value1, value0) -> tail {\n tail := add(headStart, 64)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_bool_to_t_bool_fromStack(value1, add(headStart, 32))\n\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_struct$_Passport_$1091_memory_ptr__to_t_struct$_Passport_$1091_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_struct$_Passport_$1091_memory_ptr_to_t_struct$_Passport_$1091_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_int64(value) -> cleaned {\n cleaned := signextend(7, value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f(memPtr) {\n\n mstore(add(memPtr, 0), \"Unable to transfer fee\")\n\n }\n\n function store_literal_in_memory_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4(memPtr) {\n\n mstore(add(memPtr, 0), \"There's address connected to tha\")\n\n mstore(add(memPtr, 32), \"t TG ID already.\")\n\n }\n\n function store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d(memPtr) {\n\n mstore(add(memPtr, 0), \"Passport fee is not paid\")\n\n }\n\n function store_literal_in_memory_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a(memPtr) {\n\n mstore(add(memPtr, 0), \"Your current address mismatch wi\")\n\n mstore(add(memPtr, 32), \"th your registred wallet address\")\n\n }\n\n function store_literal_in_memory_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2(memPtr) {\n\n mstore(add(memPtr, 0), \"you don't now own this username\")\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function store_literal_in_memory_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f(memPtr) {\n\n mstore(add(memPtr, 0), \"this function work's only for te\")\n\n mstore(add(memPtr, 32), \"stnet\")\n\n }\n\n function store_literal_in_memory_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b(memPtr) {\n\n mstore(add(memPtr, 0), \"already approved OR do not exist\")\n\n mstore(add(memPtr, 32), \"s yet\")\n\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_int64(value) {\n if iszero(eq(value, cleanup_t_int64(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 14, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "60806040526004361061014b5760003560e01c80636a8ec05e116100b6578063b910c8981161006f578063b910c898146104ee578063d2114e1814610517578063d2125bd214610554578063d5998aeb1461057d578063e37c132b14610599578063f2fde38b146105da5761014b565b80636a8ec05e146103cc578063715018a6146104095780638da5cb5b146104205780639413c6421461044b5780639421da6114610488578063b25047c2146104b15761014b565b806348dc15611161010857806348dc1561146102845780634ac054bb146102af57806359cca93b146102ec57806361cabe371461032957806365104afc1461036657806365a5637e1461038f5761014b565b80630ae50a39146101505780630c2fc6e31461017b5780631423ea07146101b85780631755e9e6146101f557806321e6531d1461021e578063239f60fa14610247575b600080fd5b34801561015c57600080fd5b50610165610603565b6040516101729190612d30565b60405180910390f35b34801561018757600080fd5b506101a2600480360381019061019d9190612876565b61062d565b6040516101af9190612d30565b60405180910390f35b3480156101c457600080fd5b506101df60048036038101906101da919061284d565b610670565b6040516101ec9190612f84565b60405180910390f35b34801561020157600080fd5b5061021c6004803603810190610217919061284d565b610845565b005b34801561022a57600080fd5b50610245600480360381019061024091906129ba565b610c93565b005b34801561025357600080fd5b5061026e6004803603810190610269919061289f565b610e5f565b60405161027b9190612da5565b60405180910390f35b34801561029057600080fd5b50610299610e8e565b6040516102a69190612fa6565b60405180910390f35b3480156102bb57600080fd5b506102d660048036038101906102d1919061289f565b610e98565b6040516102e39190612da5565b60405180910390f35b3480156102f857600080fd5b50610313600480360381019061030e91906129ba565b610ee0565b6040516103209190612d30565b60405180910390f35b34801561033557600080fd5b50610350600480360381019061034b919061284d565b610f29565b60405161035d9190612dc0565b60405180910390f35b34801561037257600080fd5b5061038d6004803603810190610388919061284d565b610f44565b005b34801561039b57600080fd5b506103b660048036038101906103b19190612876565b6112b6565b6040516103c39190612f84565b60405180910390f35b3480156103d857600080fd5b506103f360048036038101906103ee919061297e565b611499565b6040516104009190612dc0565b60405180910390f35b34801561041557600080fd5b5061041e6114df565b005b34801561042c57600080fd5b50610435611567565b6040516104429190612d30565b60405180910390f35b34801561045757600080fd5b50610472600480360381019061046d9190612876565b611590565b60405161047f9190612d30565b60405180910390f35b34801561049457600080fd5b506104af60048036038101906104aa919061284d565b6115c3565b005b3480156104bd57600080fd5b506104d860048036038101906104d391906129ba565b611982565b6040516104e59190612f84565b60405180910390f35b3480156104fa57600080fd5b50610515600480360381019061051091906128db565b611b65565b005b34801561052357600080fd5b5061053e600480360381019061053991906129ba565b611d71565b60405161054b9190612d30565b60405180910390f35b34801561056057600080fd5b5061057b600480360381019061057691906129fb565b611db9565b005b6105976004803603810190610592919061292a565b611e3f565b005b3480156105a557600080fd5b506105c060048036038101906105bb919061284d565b612176565b6040516105d1959493929190612d4b565b60405180910390f35b3480156105e657600080fd5b5061060160048036038101906105fc919061284d565b61228e565b005b6000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6000600360008360070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b61067861264e565b6000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016002820180546107b8906130f1565b80601f01602080910402602001604051908101604052809291908181526020018280546107e4906130f1565b80156108315780601f1061080657610100808354040283529160200191610831565b820191906000526020600020905b81548152906001019060200180831161081457829003601f168201915b505050505081525050905080915050919050565b61084d612386565b73ffffffffffffffffffffffffffffffffffffffff1661086b611567565b73ffffffffffffffffffffffffffffffffffffffff16146108c1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108b890612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054610964906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054610990906130f1565b80156109dd5780601f106109b2576101008083540402835291602001916109dd565b820191906000526020600020905b8154815290600101906020018083116109c057829003601f168201915b5050505050905060001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001601c9054906101000a900460ff16151514610a7a576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610a7190612f64565b60405180910390fd5b60011515600660008460070b60070b815260200190815260200160002060008460070b60070b815260200190815260200160002060009054906101000a905050506040518060a001604052808473ffffffffffffffffffffffffffffffffffffffff1681526020018360070b81526020016001151581526020013373ffffffffffffffffffffffffffffffffffffffff16815260200182815250600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002019080519060200190610c4f9291906126ae565b509050507fddda54aebd53f1c2d3f35d7107ddd15f71b313a804dda2179cded44927110cd0828433604051610c8693929190612e04565b60405180910390a1505050565b6000610c9e33610670565b90503373ffffffffffffffffffffffffffffffffffffffff16816000015173ffffffffffffffffffffffffffffffffffffffff1614610d12576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d0990612f04565b60405180910390fd5b81816080018190525080600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055506080820151816002019080519060200190610e579291906126ae565b509050505050565b60066020528160005260406000206020528060005260406000206000915091509054906101000a900460ff1681565b6000600154905090565b6000600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060009054906101000a900460ff16905092915050565b6005818051602081018201805184825260208301602085012081835280955050505050506000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080610f3583610670565b90508060200151915050919050565b610f4c612386565b73ffffffffffffffffffffffffffffffffffffffff16610f6a611567565b73ffffffffffffffffffffffffffffffffffffffff1614610fc0576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fb790612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206002018054611063906130f1565b80601f016020809104026020016040519081016040528092919081815260200182805461108f906130f1565b80156110dc5780601f106110b1576101008083540402835291602001916110dc565b820191906000526020600020905b8154815290600101906020018083116110bf57829003601f168201915b5050505050905060004690506005811461112b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161112290612f44565b60405180910390fd5b600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006111f89190612734565b5050600360008460070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005826040516112469190612d04565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f0511bec3ed97c7099362d7e7b0ed4fe8afe6f448a0dcf73f258be48dceb302db83856040516112a8929190612ddb565b60405180910390a150505050565b6112be61264e565b60006112c98361062d565b90506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160028201805461140b906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054611437906130f1565b80156114845780601f1061145957610100808354040283529160200191611484565b820191906000526020600020905b81548152906001019060200180831161146757829003601f168201915b50505050508152505090508092505050919050565b600760205281600052604060002081815481106114b557600080fd5b9060005260206000209060049182820401919006600802915091509054906101000a900460070b81565b6114e7612386565b73ffffffffffffffffffffffffffffffffffffffff16611505611567565b73ffffffffffffffffffffffffffffffffffffffff161461155b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161155290612f24565b60405180910390fd5b611565600061238e565b565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b6115cb612386565b73ffffffffffffffffffffffffffffffffffffffff166115e9611567565b73ffffffffffffffffffffffffffffffffffffffff161461163f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161163690612f24565b60405180910390fd5b6000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060000160149054906101000a900460070b90506000600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060020180546116e2906130f1565b80601f016020809104026020016040519081016040528092919081815260200182805461170e906130f1565b801561175b5780601f106117305761010080835404028352916020019161175b565b820191906000526020600020905b81548152906001019060200180831161173e57829003601f168201915b5050505050905060001515600460008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600001601c9054906101000a900460ff161515146117f8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016117ef90612f64565b60405180910390fd5b600460008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556002820160006118c59190612734565b5050600360008360070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556005816040516119139190612d04565b908152602001604051809103902060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557f0511bec3ed97c7099362d7e7b0ed4fe8afe6f448a0dcf73f258be48dceb302db8284604051611975929190612ddb565b60405180910390a1505050565b61198a61264e565b600061199583611d71565b90506000600460008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060a00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600282018054611ad7906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054611b03906130f1565b8015611b505780601f10611b2557610100808354040283529160200191611b50565b820191906000526020600020905b815481529060010190602001808311611b3357829003601f168201915b50505050508152505090508092505050919050565b6000611b70846112b6565b90506000816000015190503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614611be9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611be090612ee4565b60405180910390fd5b600115158315151415611cb257611c008585612452565b600760008660070b60070b81526020019081526020016000208490806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055508360070b7fb3ca43859da7280c9b07097e86cb568999c37fb4232a15e7ffbae5c6921c2bef8685604051611ca5929190612e3b565b60405180910390a2611d6a565b611cbc858561249f565b600760008660070b60070b81526020019081526020016000208490806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055508360070b7fb3ca43859da7280c9b07097e86cb568999c37fb4232a15e7ffbae5c6921c2bef8685604051611d61929190612e3b565b60405180910390a25b5050505050565b6000600582604051611d839190612d04565b908152602001604051809103902060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050919050565b611dc1612386565b73ffffffffffffffffffffffffffffffffffffffff16611ddf611567565b73ffffffffffffffffffffffffffffffffffffffff1614611e35576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e2c90612f24565b60405180910390fd5b8060018190555050565b6000339050611e4f8382846124ec565b6001543414611e93576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611e8a90612ec4565b60405180910390fd5b6040518060a001604052808273ffffffffffffffffffffffffffffffffffffffff1681526020018460070b8152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff16815260200183815250600460003373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160020190805190602001906120289291906126ae565b509050507fcb042d04619e497175f63ce8ec9b9127cb0bf344facc37db4fe8492c2ecfbb9e833360405161205d929190612ddb565b60405180910390a18260070b7f2d329f0d038ded94203a58e5be2f2f41b14cbbc49cc1f89443696606f104658c336040516120989190612d30565b60405180910390a26000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001546040516120ea90612d1b565b60006040518083038185875af1925050503d8060008114612127576040519150601f19603f3d011682016040523d82523d6000602084013e61212c565b606091505b5050905080612170576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161216790612e84565b60405180910390fd5b50505050565b60046020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169080600201805461220b906130f1565b80601f0160208091040260200160405190810160405280929190818152602001828054612237906130f1565b80156122845780601f1061225957610100808354040283529160200191612284565b820191906000526020600020905b81548152906001019060200180831161226757829003601f168201915b5050505050905085565b612296612386565b73ffffffffffffffffffffffffffffffffffffffff166122b4611567565b73ffffffffffffffffffffffffffffffffffffffff161461230a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161230190612f24565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16141561237a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161237190612e64565b60405180910390fd5b6123838161238e565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b6000600660008460070b60070b815260200190815260200160002060008360070b60070b815260200190815260200160002060006101000a81548160ff0219169083151502179055505050565b600073ffffffffffffffffffffffffffffffffffffffff16600360008560070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614612594576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161258b90612ea4565b60405180910390fd5b81600360008560070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550816005826040516125fd9190612d04565b908152602001604051809103902060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550505050565b6040518060a00160405280600073ffffffffffffffffffffffffffffffffffffffff168152602001600060070b8152602001600015158152602001600073ffffffffffffffffffffffffffffffffffffffff168152602001606081525090565b8280546126ba906130f1565b90600052602060002090601f0160209004810192826126dc5760008555612723565b82601f106126f557805160ff1916838001178555612723565b82800160010185558215612723579182015b82811115612722578251825591602001919060010190612707565b5b5090506127309190612774565b5090565b508054612740906130f1565b6000825580601f106127525750612771565b601f0160209004906000526020600020908101906127709190612774565b5b50565b5b8082111561278d576000816000905550600101612775565b5090565b60006127a461279f84612fe6565b612fc1565b9050828152602081018484840111156127bc57600080fd5b6127c78482856130af565b509392505050565b6000813590506127de816133f5565b92915050565b6000813590506127f38161340c565b92915050565b60008135905061280881613423565b92915050565b600082601f83011261281f57600080fd5b813561282f848260208601612791565b91505092915050565b6000813590506128478161343a565b92915050565b60006020828403121561285f57600080fd5b600061286d848285016127cf565b91505092915050565b60006020828403121561288857600080fd5b6000612896848285016127f9565b91505092915050565b600080604083850312156128b257600080fd5b60006128c0858286016127f9565b92505060206128d1858286016127f9565b9150509250929050565b6000806000606084860312156128f057600080fd5b60006128fe868287016127f9565b935050602061290f868287016127f9565b9250506040612920868287016127e4565b9150509250925092565b6000806040838503121561293d57600080fd5b600061294b858286016127f9565b925050602083013567ffffffffffffffff81111561296857600080fd5b6129748582860161280e565b9150509250929050565b6000806040838503121561299157600080fd5b600061299f858286016127f9565b92505060206129b085828601612838565b9150509250929050565b6000602082840312156129cc57600080fd5b600082013567ffffffffffffffff8111156129e657600080fd5b6129f28482850161280e565b91505092915050565b600060208284031215612a0d57600080fd5b6000612a1b84828501612838565b91505092915050565b612a2d8161305a565b82525050565b612a3c8161305a565b82525050565b612a4b8161306c565b82525050565b612a5a8161306c565b82525050565b612a6981613078565b82525050565b612a7881613078565b82525050565b6000612a8982613017565b612a93818561302d565b9350612aa38185602086016130be565b612aac816131b2565b840191505092915050565b6000612ac282613017565b612acc818561303e565b9350612adc8185602086016130be565b612ae5816131b2565b840191505092915050565b6000612afb82613017565b612b05818561304f565b9350612b158185602086016130be565b80840191505092915050565b6000612b2e60268361303e565b9150612b39826131c3565b604082019050919050565b6000612b5160168361303e565b9150612b5c82613212565b602082019050919050565b6000612b7460308361303e565b9150612b7f8261323b565b604082019050919050565b6000612b9760188361303e565b9150612ba28261328a565b602082019050919050565b6000612bba60408361303e565b9150612bc5826132b3565b604082019050919050565b6000612bdd601f8361303e565b9150612be882613302565b602082019050919050565b6000612c0060208361303e565b9150612c0b8261332b565b602082019050919050565b6000612c2360258361303e565b9150612c2e82613354565b604082019050919050565b6000612c4660258361303e565b9150612c51826133a3565b604082019050919050565b6000612c69600083613022565b9150612c74826133f2565b600082019050919050565b600060a083016000830151612c976000860182612a24565b506020830151612caa6020860182612a60565b506040830151612cbd6040860182612a42565b506060830151612cd06060860182612a24565b5060808301518482036080860152612ce88282612a7e565b9150508091505092915050565b612cfe816130a5565b82525050565b6000612d108284612af0565b915081905092915050565b6000612d2682612c5c565b9150819050919050565b6000602082019050612d456000830184612a33565b92915050565b600060a082019050612d606000830188612a33565b612d6d6020830187612a6f565b612d7a6040830186612a51565b612d876060830185612a33565b8181036080830152612d998184612ab7565b90509695505050505050565b6000602082019050612dba6000830184612a51565b92915050565b6000602082019050612dd56000830184612a6f565b92915050565b6000604082019050612df06000830185612a6f565b612dfd6020830184612a33565b9392505050565b6000606082019050612e196000830186612a6f565b612e266020830185612a33565b612e336040830184612a33565b949350505050565b6000604082019050612e506000830185612a6f565b612e5d6020830184612a51565b9392505050565b60006020820190508181036000830152612e7d81612b21565b9050919050565b60006020820190508181036000830152612e9d81612b44565b9050919050565b60006020820190508181036000830152612ebd81612b67565b9050919050565b60006020820190508181036000830152612edd81612b8a565b9050919050565b60006020820190508181036000830152612efd81612bad565b9050919050565b60006020820190508181036000830152612f1d81612bd0565b9050919050565b60006020820190508181036000830152612f3d81612bf3565b9050919050565b60006020820190508181036000830152612f5d81612c16565b9050919050565b60006020820190508181036000830152612f7d81612c39565b9050919050565b60006020820190508181036000830152612f9e8184612c7f565b905092915050565b6000602082019050612fbb6000830184612cf5565b92915050565b6000612fcb612fdc565b9050612fd78282613123565b919050565b6000604051905090565b600067ffffffffffffffff82111561300157613000613183565b5b61300a826131b2565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600082825260208201905092915050565b600081905092915050565b600061306582613085565b9050919050565b60008115159050919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b82818337600083830152505050565b60005b838110156130dc5780820151818401526020810190506130c1565b838111156130eb576000848401525b50505050565b6000600282049050600182168061310957607f821691505b6020821081141561311d5761311c613154565b5b50919050565b61312c826131b2565b810181811067ffffffffffffffff8211171561314b5761314a613183565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f54686572652773206164647265737320636f6e6e656374656420746f2074686160008201527f7420544720494420616c72656164792e00000000000000000000000000000000602082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f596f75722063757272656e742061646472657373206d69736d6174636820776960008201527f746820796f7572207265676973747265642077616c6c65742061646472657373602082015250565b7f796f7520646f6e2774206e6f77206f776e207468697320757365726e616d6500600082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f746869732066756e6374696f6e20776f726b2773206f6e6c7920666f7220746560008201527f73746e6574000000000000000000000000000000000000000000000000000000602082015250565b7f616c726561647920617070726f766564204f5220646f206e6f7420657869737460008201527f7320796574000000000000000000000000000000000000000000000000000000602082015250565b50565b6133fe8161305a565b811461340957600080fd5b50565b6134158161306c565b811461342057600080fd5b50565b61342c81613078565b811461343757600080fd5b50565b613443816130a5565b811461344e57600080fd5b5056fea2646970667358221220249dd1622c29a32d14d6e13c05efa7dc646f37ce9e788f47c9eabbf86d8d2a6d64736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x14B JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x6A8EC05E GT PUSH2 0xB6 JUMPI DUP1 PUSH4 0xB910C898 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xB910C898 EQ PUSH2 0x4EE JUMPI DUP1 PUSH4 0xD2114E18 EQ PUSH2 0x517 JUMPI DUP1 PUSH4 0xD2125BD2 EQ PUSH2 0x554 JUMPI DUP1 PUSH4 0xD5998AEB EQ PUSH2 0x57D JUMPI DUP1 PUSH4 0xE37C132B EQ PUSH2 0x599 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x5DA JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x6A8EC05E EQ PUSH2 0x3CC JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x409 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x420 JUMPI DUP1 PUSH4 0x9413C642 EQ PUSH2 0x44B JUMPI DUP1 PUSH4 0x9421DA61 EQ PUSH2 0x488 JUMPI DUP1 PUSH4 0xB25047C2 EQ PUSH2 0x4B1 JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0x48DC1561 GT PUSH2 0x108 JUMPI DUP1 PUSH4 0x48DC1561 EQ PUSH2 0x284 JUMPI DUP1 PUSH4 0x4AC054BB EQ PUSH2 0x2AF JUMPI DUP1 PUSH4 0x59CCA93B EQ PUSH2 0x2EC JUMPI DUP1 PUSH4 0x61CABE37 EQ PUSH2 0x329 JUMPI DUP1 PUSH4 0x65104AFC EQ PUSH2 0x366 JUMPI DUP1 PUSH4 0x65A5637E EQ PUSH2 0x38F JUMPI PUSH2 0x14B JUMP JUMPDEST DUP1 PUSH4 0xAE50A39 EQ PUSH2 0x150 JUMPI DUP1 PUSH4 0xC2FC6E3 EQ PUSH2 0x17B JUMPI DUP1 PUSH4 0x1423EA07 EQ PUSH2 0x1B8 JUMPI DUP1 PUSH4 0x1755E9E6 EQ PUSH2 0x1F5 JUMPI DUP1 PUSH4 0x21E6531D EQ PUSH2 0x21E JUMPI DUP1 PUSH4 0x239F60FA EQ PUSH2 0x247 JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x15C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x165 PUSH2 0x603 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x172 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x187 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1A2 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x19D SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x62D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1AF SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1C4 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1DF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1DA SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x670 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1EC SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x201 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x21C PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x217 SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x845 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x22A JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x245 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x240 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xC93 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x253 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x26E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x269 SWAP2 SWAP1 PUSH2 0x289F JUMP JUMPDEST PUSH2 0xE5F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x27B SWAP2 SWAP1 PUSH2 0x2DA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x290 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x299 PUSH2 0xE8E JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2A6 SWAP2 SWAP1 PUSH2 0x2FA6 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2BB JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x2D1 SWAP2 SWAP1 PUSH2 0x289F JUMP JUMPDEST PUSH2 0xE98 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2E3 SWAP2 SWAP1 PUSH2 0x2DA5 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x313 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x30E SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0xEE0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x320 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x335 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x350 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x34B SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0xF29 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x35D SWAP2 SWAP1 PUSH2 0x2DC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x372 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x38D PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x388 SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0xF44 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x39B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3B6 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B1 SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x12B6 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3C3 SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3D8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3F3 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3EE SWAP2 SWAP1 PUSH2 0x297E JUMP JUMPDEST PUSH2 0x1499 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x400 SWAP2 SWAP1 PUSH2 0x2DC0 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x415 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x41E PUSH2 0x14DF JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x42C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x435 PUSH2 0x1567 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x442 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x457 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x472 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x46D SWAP2 SWAP1 PUSH2 0x2876 JUMP JUMPDEST PUSH2 0x1590 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x47F SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x494 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4AF PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4AA SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x15C3 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4D8 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4D3 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0x1982 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4E5 SWAP2 SWAP1 PUSH2 0x2F84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4FA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x515 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x510 SWAP2 SWAP1 PUSH2 0x28DB JUMP JUMPDEST PUSH2 0x1B65 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x523 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x53E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x539 SWAP2 SWAP1 PUSH2 0x29BA JUMP JUMPDEST PUSH2 0x1D71 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x54B SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x560 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x57B PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x576 SWAP2 SWAP1 PUSH2 0x29FB JUMP JUMPDEST PUSH2 0x1DB9 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x597 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x592 SWAP2 SWAP1 PUSH2 0x292A JUMP JUMPDEST PUSH2 0x1E3F JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5A5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x5C0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5BB SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x2176 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x5D1 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2D4B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x5E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x601 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x5FC SWAP2 SWAP1 PUSH2 0x284D JUMP JUMPDEST PUSH2 0x228E JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x678 PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x7B8 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x7E4 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x831 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x806 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x831 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x814 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x84D PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x86B PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x8C1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x8B8 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x964 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x990 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x9DD JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x9B2 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x9DD JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x9C0 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0xA7A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xA71 SWAP1 PUSH2 0x2F64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 ISZERO ISZERO PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 POP POP POP PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xC4F SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xDDDA54AEBD53F1C2D3F35D7107DDD15F71B313A804DDA2179CDED44927110CD0 DUP3 DUP5 CALLER PUSH1 0x40 MLOAD PUSH2 0xC86 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0xC9E CALLER PUSH2 0x670 JUMP JUMPDEST SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH1 0x0 ADD MLOAD PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xD12 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xD09 SWAP1 PUSH2 0x2F04 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 DUP2 PUSH1 0x80 ADD DUP2 SWAP1 MSTORE POP DUP1 PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0xE57 SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP POP POP JUMP JUMPDEST PUSH1 0x6 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP2 POP SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 SLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x5 DUP2 DUP1 MLOAD PUSH1 0x20 DUP2 ADD DUP3 ADD DUP1 MLOAD DUP5 DUP3 MSTORE PUSH1 0x20 DUP4 ADD PUSH1 0x20 DUP6 ADD KECCAK256 DUP2 DUP4 MSTORE DUP1 SWAP6 POP POP POP POP POP POP PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH2 0xF35 DUP4 PUSH2 0x670 JUMP JUMPDEST SWAP1 POP DUP1 PUSH1 0x20 ADD MLOAD SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0xF4C PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xF6A PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xFC0 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFB7 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x1063 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x108F SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x10DC JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x10B1 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x10DC JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x10BF JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 CHAINID SWAP1 POP PUSH1 0x5 DUP2 EQ PUSH2 0x112B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1122 SWAP1 PUSH2 0x2F44 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x11F8 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST POP POP PUSH1 0x3 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1246 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0x511BEC3ED97C7099362D7E7B0ED4FE8AFE6F448A0DCF73F258BE48DCEB302DB DUP4 DUP6 PUSH1 0x40 MLOAD PUSH2 0x12A8 SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP POP JUMP JUMPDEST PUSH2 0x12BE PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x12C9 DUP4 PUSH2 0x62D JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x140B SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1437 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1484 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1459 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1484 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1467 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x7 PUSH1 0x20 MSTORE DUP2 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x14B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP2 POP SWAP2 POP SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND DUP2 JUMP JUMPDEST PUSH2 0x14E7 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1505 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x155B JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1552 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1565 PUSH1 0x0 PUSH2 0x238E JUMP JUMPDEST JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x3 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH2 0x15CB PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x15E9 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x163F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1636 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x16E2 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x170E SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x175B JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1730 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x175B JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x173E JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO PUSH1 0x4 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO EQ PUSH2 0x17F8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x17EF SWAP1 PUSH2 0x2F64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x4 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x18C5 SWAP2 SWAP1 PUSH2 0x2734 JUMP JUMPDEST POP POP PUSH1 0x3 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x5 DUP2 PUSH1 0x40 MLOAD PUSH2 0x1913 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0x511BEC3ED97C7099362D7E7B0ED4FE8AFE6F448A0DCF73F258BE48DCEB302DB DUP3 DUP5 PUSH1 0x40 MLOAD PUSH2 0x1975 SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH2 0x198A PUSH2 0x264E JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1995 DUP4 PUSH2 0x1D71 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 PUSH1 0x4 PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD DUP1 SLOAD PUSH2 0x1AD7 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1B03 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B50 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1B25 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B50 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1B33 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP DUP1 SWAP3 POP POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B70 DUP5 PUSH2 0x12B6 JUMP JUMPDEST SWAP1 POP PUSH1 0x0 DUP2 PUSH1 0x0 ADD MLOAD SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1BE9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1BE0 SWAP1 PUSH2 0x2EE4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 ISZERO ISZERO DUP4 ISZERO ISZERO EQ ISZERO PUSH2 0x1CB2 JUMPI PUSH2 0x1C00 DUP6 DUP6 PUSH2 0x2452 JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP7 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x7 SIGNEXTEND PUSH32 0xB3CA43859DA7280C9B07097E86CB568999C37FB4232A15E7FFBAE5C6921C2BEF DUP7 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1CA5 SWAP3 SWAP2 SWAP1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH2 0x1D6A JUMP JUMPDEST PUSH2 0x1CBC DUP6 DUP6 PUSH2 0x249F JUMP JUMPDEST PUSH1 0x7 PUSH1 0x0 DUP7 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 DUP5 SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP4 PUSH1 0x7 SIGNEXTEND PUSH32 0xB3CA43859DA7280C9B07097E86CB568999C37FB4232A15E7FFBAE5C6921C2BEF DUP7 DUP6 PUSH1 0x40 MLOAD PUSH2 0x1D61 SWAP3 SWAP2 SWAP1 PUSH2 0x2E3B JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 JUMPDEST POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x1D83 SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1DC1 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1DDF PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1E35 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E2C SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 PUSH1 0x1 DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP PUSH2 0x1E4F DUP4 DUP3 DUP5 PUSH2 0x24EC JUMP JUMPDEST PUSH1 0x1 SLOAD CALLVALUE EQ PUSH2 0x1E93 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1E8A SWAP1 PUSH2 0x2EC4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP4 DUP2 MSTORE POP PUSH1 0x4 PUSH1 0x0 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x2028 SWAP3 SWAP2 SWAP1 PUSH2 0x26AE JUMP JUMPDEST POP SWAP1 POP POP PUSH32 0xCB042D04619E497175F63CE8EC9B9127CB0BF344FACC37DB4FE8492C2ECFBB9E DUP4 CALLER PUSH1 0x40 MLOAD PUSH2 0x205D SWAP3 SWAP2 SWAP1 PUSH2 0x2DDB JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP3 PUSH1 0x7 SIGNEXTEND PUSH32 0x2D329F0D038DED94203A58E5BE2F2F41B14CBBC49CC1F89443696606F104658C CALLER PUSH1 0x40 MLOAD PUSH2 0x2098 SWAP2 SWAP1 PUSH2 0x2D30 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 PUSH1 0x0 PUSH1 0x2 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x1 SLOAD PUSH1 0x40 MLOAD PUSH2 0x20EA SWAP1 PUSH2 0x2D1B JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x2127 JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x212C JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x2170 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2167 SWAP1 PUSH2 0x2E84 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x4 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x2 ADD DUP1 SLOAD PUSH2 0x220B SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x2237 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x2284 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x2259 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x2284 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x2267 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP6 JUMP JUMPDEST PUSH2 0x2296 PUSH2 0x2386 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x22B4 PUSH2 0x1567 JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x230A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2301 SWAP1 PUSH2 0x2F24 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x237A JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2371 SWAP1 PUSH2 0x2E64 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x2383 DUP2 PUSH2 0x238E JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x6 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP4 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x3 PUSH1 0x0 DUP6 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x2594 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x258B SWAP1 PUSH2 0x2EA4 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP2 PUSH1 0x3 PUSH1 0x0 DUP6 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH1 0x5 DUP3 PUSH1 0x40 MLOAD PUSH2 0x25FD SWAP2 SWAP1 PUSH2 0x2D04 JUMP JUMPDEST SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP POP POP POP JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 PUSH1 0xA0 ADD PUSH1 0x40 MSTORE DUP1 PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x60 DUP2 MSTORE POP SWAP1 JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x26BA SWAP1 PUSH2 0x30F1 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x26DC JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2723 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x26F5 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2723 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2723 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x2722 JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2707 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x2730 SWAP2 SWAP1 PUSH2 0x2774 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x2740 SWAP1 PUSH2 0x30F1 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x2752 JUMPI POP PUSH2 0x2771 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x2770 SWAP2 SWAP1 PUSH2 0x2774 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x278D JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2775 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x27A4 PUSH2 0x279F DUP5 PUSH2 0x2FE6 JUMP JUMPDEST PUSH2 0x2FC1 JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x27BC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x27C7 DUP5 DUP3 DUP6 PUSH2 0x30AF JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27DE DUP2 PUSH2 0x33F5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27F3 DUP2 PUSH2 0x340C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2808 DUP2 PUSH2 0x3423 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x281F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x282F DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x2791 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2847 DUP2 PUSH2 0x343A JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x285F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x286D DUP5 DUP3 DUP6 ADD PUSH2 0x27CF JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2888 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2896 DUP5 DUP3 DUP6 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x28B2 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x28C0 DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x28D1 DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 PUSH1 0x60 DUP5 DUP7 SUB SLT ISZERO PUSH2 0x28F0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x28FE DUP7 DUP3 DUP8 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x20 PUSH2 0x290F DUP7 DUP3 DUP8 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x40 PUSH2 0x2920 DUP7 DUP3 DUP8 ADD PUSH2 0x27E4 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 POP SWAP3 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x293D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x294B DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 DUP4 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2968 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x2974 DUP6 DUP3 DUP7 ADD PUSH2 0x280E JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x2991 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x299F DUP6 DUP3 DUP7 ADD PUSH2 0x27F9 JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x29B0 DUP6 DUP3 DUP7 ADD PUSH2 0x2838 JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29CC JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 DUP3 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x29E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x29F2 DUP5 DUP3 DUP6 ADD PUSH2 0x280E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A0D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A1B DUP5 DUP3 DUP6 ADD PUSH2 0x2838 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2A2D DUP2 PUSH2 0x305A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A3C DUP2 PUSH2 0x305A JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A4B DUP2 PUSH2 0x306C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A5A DUP2 PUSH2 0x306C JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A69 DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A78 DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2A89 DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2A93 DUP2 DUP6 PUSH2 0x302D JUMP JUMPDEST SWAP4 POP PUSH2 0x2AA3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST PUSH2 0x2AAC DUP2 PUSH2 0x31B2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AC2 DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2ACC DUP2 DUP6 PUSH2 0x303E JUMP JUMPDEST SWAP4 POP PUSH2 0x2ADC DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST PUSH2 0x2AE5 DUP2 PUSH2 0x31B2 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AFB DUP3 PUSH2 0x3017 JUMP JUMPDEST PUSH2 0x2B05 DUP2 DUP6 PUSH2 0x304F JUMP JUMPDEST SWAP4 POP PUSH2 0x2B15 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x30BE JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B2E PUSH1 0x26 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B39 DUP3 PUSH2 0x31C3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B51 PUSH1 0x16 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B5C DUP3 PUSH2 0x3212 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B74 PUSH1 0x30 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2B7F DUP3 PUSH2 0x323B JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B97 PUSH1 0x18 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BA2 DUP3 PUSH2 0x328A JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BBA PUSH1 0x40 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BC5 DUP3 PUSH2 0x32B3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BDD PUSH1 0x1F DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2BE8 DUP3 PUSH2 0x3302 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C00 PUSH1 0x20 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C0B DUP3 PUSH2 0x332B JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C23 PUSH1 0x25 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C2E DUP3 PUSH2 0x3354 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C46 PUSH1 0x25 DUP4 PUSH2 0x303E JUMP JUMPDEST SWAP2 POP PUSH2 0x2C51 DUP3 PUSH2 0x33A3 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C69 PUSH1 0x0 DUP4 PUSH2 0x3022 JUMP JUMPDEST SWAP2 POP PUSH2 0x2C74 DUP3 PUSH2 0x33F2 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP4 ADD PUSH1 0x0 DUP4 ADD MLOAD PUSH2 0x2C97 PUSH1 0x0 DUP7 ADD DUP3 PUSH2 0x2A24 JUMP JUMPDEST POP PUSH1 0x20 DUP4 ADD MLOAD PUSH2 0x2CAA PUSH1 0x20 DUP7 ADD DUP3 PUSH2 0x2A60 JUMP JUMPDEST POP PUSH1 0x40 DUP4 ADD MLOAD PUSH2 0x2CBD PUSH1 0x40 DUP7 ADD DUP3 PUSH2 0x2A42 JUMP JUMPDEST POP PUSH1 0x60 DUP4 ADD MLOAD PUSH2 0x2CD0 PUSH1 0x60 DUP7 ADD DUP3 PUSH2 0x2A24 JUMP JUMPDEST POP PUSH1 0x80 DUP4 ADD MLOAD DUP5 DUP3 SUB PUSH1 0x80 DUP7 ADD MSTORE PUSH2 0x2CE8 DUP3 DUP3 PUSH2 0x2A7E JUMP JUMPDEST SWAP2 POP POP DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2CFE DUP2 PUSH2 0x30A5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D10 DUP3 DUP5 PUSH2 0x2AF0 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2D26 DUP3 PUSH2 0x2C5C JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2D45 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2D60 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2A33 JUMP JUMPDEST PUSH2 0x2D6D PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2D7A PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2A51 JUMP JUMPDEST PUSH2 0x2D87 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2A33 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x2D99 DUP2 DUP5 PUSH2 0x2AB7 JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DBA PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A51 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DD5 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A6F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2DF0 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2DFD PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x60 DUP3 ADD SWAP1 POP PUSH2 0x2E19 PUSH1 0x0 DUP4 ADD DUP7 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2E26 PUSH1 0x20 DUP4 ADD DUP6 PUSH2 0x2A33 JUMP JUMPDEST PUSH2 0x2E33 PUSH1 0x40 DUP4 ADD DUP5 PUSH2 0x2A33 JUMP JUMPDEST SWAP5 SWAP4 POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 DUP3 ADD SWAP1 POP PUSH2 0x2E50 PUSH1 0x0 DUP4 ADD DUP6 PUSH2 0x2A6F JUMP JUMPDEST PUSH2 0x2E5D PUSH1 0x20 DUP4 ADD DUP5 PUSH2 0x2A51 JUMP JUMPDEST SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E7D DUP2 PUSH2 0x2B21 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2E9D DUP2 PUSH2 0x2B44 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EBD DUP2 PUSH2 0x2B67 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EDD DUP2 PUSH2 0x2B8A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2EFD DUP2 PUSH2 0x2BAD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F1D DUP2 PUSH2 0x2BD0 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F3D DUP2 PUSH2 0x2BF3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F5D DUP2 PUSH2 0x2C16 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F7D DUP2 PUSH2 0x2C39 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F9E DUP2 DUP5 PUSH2 0x2C7F JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2FBB PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2CF5 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2FCB PUSH2 0x2FDC JUMP JUMPDEST SWAP1 POP PUSH2 0x2FD7 DUP3 DUP3 PUSH2 0x3123 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x3001 JUMPI PUSH2 0x3000 PUSH2 0x3183 JUMP JUMPDEST JUMPDEST PUSH2 0x300A DUP3 PUSH2 0x31B2 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3065 DUP3 PUSH2 0x3085 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x7 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x30DC JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x30C1 JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x30EB JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x3109 JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x311D JUMPI PUSH2 0x311C PUSH2 0x3154 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x312C DUP3 PUSH2 0x31B2 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x314B JUMPI PUSH2 0x314A PUSH2 0x3183 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E61626C6520746F207472616E736665722066656500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x54686572652773206164647265737320636F6E6E656374656420746F20746861 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7420544720494420616C72656164792E00000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x50617373706F727420666565206973206E6F7420706169640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x596F75722063757272656E742061646472657373206D69736D61746368207769 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x746820796F7572207265676973747265642077616C6C65742061646472657373 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x796F7520646F6E2774206E6F77206F776E207468697320757365726E616D6500 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x746869732066756E6374696F6E20776F726B2773206F6E6C7920666F72207465 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x73746E6574000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x616C726561647920617070726F766564204F5220646F206E6F74206578697374 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x7320796574000000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH2 0x33FE DUP2 PUSH2 0x305A JUMP JUMPDEST DUP2 EQ PUSH2 0x3409 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3415 DUP2 PUSH2 0x306C JUMP JUMPDEST DUP2 EQ PUSH2 0x3420 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x342C DUP2 PUSH2 0x3078 JUMP JUMPDEST DUP2 EQ PUSH2 0x3437 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3443 DUP2 PUSH2 0x30A5 JUMP JUMPDEST DUP2 EQ PUSH2 0x344E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 0x24 SWAP14 0xD1 PUSH3 0x2C29A3 0x2D EQ 0xD6 0xE1 EXTCODECOPY SDIV 0xEF 0xA7 0xDC PUSH5 0x6F37CE9E78 DUP16 SELFBALANCE 0xC9 0xEA 0xBB 0xF8 PUSH14 0x8D2A6D64736F6C63430008040033 ", + "sourceMap": "384:8607:12:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8912:76;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7871:113;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;8180:160;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3791:528;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2388:270;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;943:61;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7776:89;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7398:116;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;822:50;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7989:186;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5163:628;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8709:198;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1429:49;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:2;;;;;;;;;;;;;:::i;:::-;;1036:85;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;721:46:12;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4465:513;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8484:220;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;6600:712;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8345:134;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7587:104;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2881:674;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;772:45;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;:::i;:::-;;;;;;;;1918:198:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;8912:76:12;8952:7;8976:6;;;;;;;;;;;8969:13;;8912:76;:::o;7871:113::-;7935:7;7958:13;:20;7972:5;7958:20;;;;;;;;;;;;;;;;;;;;;;;;;7951:27;;7871:113;;;:::o;8180:160::-;8251:15;;:::i;:::-;8276:17;8296:9;:22;8306:11;8296:22;;;;;;;;;;;;;;;8276:42;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8333:1;8326:8;;;8180:160;;;:::o;3791:528::-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;3871:11:12::1;3885:9;:28;3895:17;3885:28;;;;;;;;;;;;;;;:33;;;;;;;;;;;;3871:47;;3928:24;3955:9;:28;3965:17;3955:28;;;;;;;;;;;;;;;:37;;3928:64;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4048:5;4010:43;;:9;:28;4020:17;4010:28;;;;;;;;;;;;;;;:34;;;;;;;;;;;;:43;;;4002:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;4135:4;4105:34;;:12;:19;4118:5;4105:19;;;;;;;;;;;;;;;:26;4125:5;4105:26;;;;;;;;;;;;;;;;;;;;;;::::0;;:34;4180:64:::1;;;;;;;;4189:17;4180:64;;;;;;4208:5;4180:64;;;;;;4215:4;4180:64;;;;;;4221:10;4180:64;;;;;;4233:10;4180:64;;::::0;4149:9:::1;:28;4159:17;4149:28;;;;;;;;;;;;;;;:95;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;4261:52;4278:5;4284:17;4302:10;4261:52;;;;;;;;:::i;:::-;;;;;;;;1318:1:2;;3791:528:12::0;:::o;2388:270::-;2456:17;2476:32;2497:10;2476:20;:32::i;:::-;2456:52;;2540:10;2523:27;;:1;:13;;;:27;;;2515:71;;;;;;;;;;;;:::i;:::-;;;;;;;;;2606:14;2593:1;:10;;:27;;;;2651:1;2627:9;:21;2637:10;2627:21;;;;;;;;;;;;;;;:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;2388:270;;:::o;943:61::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7776:89::-;7823:4;7846:12;;7839:19;;7776:89;:::o;7398:116::-;7459:4;7483:12;:18;7496:4;7483:18;;;;;;;;;;;;;;;:22;7502:2;7483:22;;;;;;;;;;;;;;;;;;;;;;;;;7476:29;;7398:116;;;;:::o;822:50::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7989:186::-;8056:10;8076:17;8096:33;8117:11;8096:20;:33::i;:::-;8076:53;;8144:1;:6;;;8137:13;;8158:11;7989:186;;;:::o;5163:628::-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5240:11:12::1;5254:9;:28;5264:17;5254:28;;;;;;;;;;;;;;;:33;;;;;;;;;;;;5240:47;;5295:24;5322:9;:28;5332:17;5322:28;;;;;;;;;;;;;;;:37;;5295:64;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5367:12;5382:13;5367:28;;5427:1;5411:7;:18;5403:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;5627:9;:28;5637:17;5627:28;;;;;;;;;;;;;;;;5620:35:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;5670:13;:20;5684:5;5670:20;;;;;;;;;;;;;;;;5663:27;;;;;;;;;;;5705:16;5722:10;5705:28;;;;;;:::i;:::-;;;;;;;;;;;;;;5698:35;;;;;;;;;;;5746:39;5761:5;5767:17;5746:39;;;;;;;:::i;:::-;;;;;;;;1318:1:2;;;5163:628:12::0;:::o;8709:198::-;8770:15;;:::i;:::-;8795:14;8812:28;8834:5;8812:21;:28::i;:::-;8795:45;;8848:17;8868:9;:17;8878:6;8868:17;;;;;;;;;;;;;;;8848:37;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8900:1;8893:8;;;;8709:198;;;:::o;1429:49::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1668:101:2:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;1036:85::-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;721:46:12:-;;;;;;;;;;;;;;;;;;;;;;:::o;4465:513::-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;4543:11:12::1;4557:9;:28;4567:17;4557:28;;;;;;;;;;;;;;;:33;;;;;;;;;;;;4543:47;;4598:24;4625:9;:28;4635:17;4625:28;;;;;;;;;;;;;;;:37;;4598:64;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4716:5;4678:43;;:9;:28;4688:17;4678:28;;;;;;;;;;;;;;;:34;;;;;;;;;;;;:43;;;4670:93;;;;;;;;;;;;:::i;:::-;;;;;;;;;4814:9;:28;4824:17;4814:28;;;;;;;;;;;;;;;;4807:35:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;4857:13;:20;4871:5;4857:20;;;;;;;;;;;;;;;;4850:27;;;;;;;;;;;4892:16;4909:10;4892:28;;;;;;:::i;:::-;;;;;;;;;;;;;;4885:35;;;;;;;;;;;4933:39;4948:5;4954:17;4933:39;;;;;;;:::i;:::-;;;;;;;;1318:1:2;;4465:513:12::0;:::o;8484:220::-;8562:15;;:::i;:::-;8587;8605:31;8625:10;8605:19;:31::i;:::-;8587:49;;8644:17;8664:9;:18;8674:7;8664:18;;;;;;;;;;;;;;;8644:38;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;8697:1;8690:8;;;;8484:220;;;:::o;6600:712::-;6674:22;6699:23;6717:4;6699:17;:23::i;:::-;6674:48;;6733:20;6756:6;:18;;;6733:41;;6809:10;6793:26;;:12;:26;;;6785:103;;;;;;;;;;;;:::i;:::-;;;;;;;;;6976:4;6967:13;;:5;:13;;;6963:340;;;6996:18;7006:4;7011:2;6996:9;:18::i;:::-;7028:15;:21;7044:4;7028:21;;;;;;;;;;;;;;;7055:2;7028:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7118:2;7100:27;;;7113:4;7121:5;7100:27;;;;;;;:::i;:::-;;;;;;;;6963:340;;;7159:19;7170:4;7175:2;7159:10;:19::i;:::-;7192:15;:21;7208:4;7192:21;;;;;;;;;;;;;;;7219:2;7192:30;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;7282:2;7264:27;;;7277:4;7285:5;7264:27;;;;;;;:::i;:::-;;;;;;;;6963:340;6600:712;;;;;:::o;8345:134::-;8421:7;8445:16;8462:10;8445:28;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;8438:35;;8345:134;;;:::o;7587:104::-;1259:12:2;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;7672:12:12::1;7657;:27;;;;7587:104:::0;:::o;2881:674::-;2974:22;2999:10;2974:35;;3104:51;3119:9;3129:14;3144:10;3104:14;:51::i;:::-;3187:12;;3174:9;:25;3165:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;3261:67;;;;;;;;3270:14;3261:67;;;;;;3286:9;3261:67;;;;;;3297:5;3261:67;;;;;;3312:3;3261:67;;;;;;3317:10;3261:67;;;3237:9;:21;3247:10;3237:21;;;;;;;;;;;;;;;:91;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;3341:38;3357:9;3368:10;3341:38;;;;;;;:::i;:::-;;;;;;;;3415:9;3392:45;;;3426:10;3392:45;;;;;;:::i;:::-;;;;;;;;3446:12;3463:6;;;;;;;;;;;:11;;3482:12;;3463:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;3445:54;;;3515:7;3507:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;2881:674;;;;:::o;772:45::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;1918:198:2:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;640:96:7:-;693:7;719:10;712:17;;640:96;:::o;2270:187:2:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2270:187;;:::o;5988:100:12:-;6075:4;6050:12;:18;6063:4;6050:18;;;;;;;;;;;;;;;:22;6069:2;6050:22;;;;;;;;;;;;;;;;:29;;;;;;;;;;;;;;;;;;5988:100;;:::o;6324:101::-;6411:5;6386:12;:18;6399:4;6386:18;;;;;;;;;;;;;;;:22;6405:2;6386:22;;;;;;;;;;;;;;;;:30;;;;;;;;;;;;;;;;;;6324:101;;:::o;1982:325::-;2121:3;2090:35;;:13;:19;2104:4;2090:19;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;2082:96;;;;;;;;;;;;:::i;:::-;;;;;;;;;2240:11;2218:13;:19;2232:4;2218:19;;;;;;;;;;;;;;;;:33;;;;;;;;;;;;;;;;;;2290:11;2259:16;2276:10;2259:28;;;;;;:::i;:::-;;;;;;;;;;;;;;:42;;;;;;;;;;;;;;;;;;1982:325;;;:::o;-1:-1:-1:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:14:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;358:139::-;404:5;442:6;429:20;420:29;;458:33;485:5;458:33;:::i;:::-;410:87;;;;:::o;503:133::-;546:5;584:6;571:20;562:29;;600:30;624:5;600:30;:::i;:::-;552:84;;;;:::o;642:135::-;686:5;724:6;711:20;702:29;;740:31;765:5;740:31;:::i;:::-;692:85;;;;:::o;797:273::-;853:5;902:3;895:4;887:6;883:17;879:27;869:2;;920:1;917;910:12;869:2;960:6;947:20;985:79;1060:3;1052:6;1045:4;1037:6;1033:17;985:79;:::i;:::-;976:88;;859:211;;;;;:::o;1076:139::-;1122:5;1160:6;1147:20;1138:29;;1176:33;1203:5;1176:33;:::i;:::-;1128:87;;;;:::o;1221:262::-;1280:6;1329:2;1317:9;1308:7;1304:23;1300:32;1297:2;;;1345:1;1342;1335:12;1297:2;1388:1;1413:53;1458:7;1449:6;1438:9;1434:22;1413:53;:::i;:::-;1403:63;;1359:117;1287:196;;;;:::o;1489:258::-;1546:6;1595:2;1583:9;1574:7;1570:23;1566:32;1563:2;;;1611:1;1608;1601:12;1563:2;1654:1;1679:51;1722:7;1713:6;1702:9;1698:22;1679:51;:::i;:::-;1669:61;;1625:115;1553:194;;;;:::o;1753:399::-;1817:6;1825;1874:2;1862:9;1853:7;1849:23;1845:32;1842:2;;;1890:1;1887;1880:12;1842:2;1933:1;1958:51;2001:7;1992:6;1981:9;1977:22;1958:51;:::i;:::-;1948:61;;1904:115;2058:2;2084:51;2127:7;2118:6;2107:9;2103:22;2084:51;:::i;:::-;2074:61;;2029:116;1832:320;;;;;:::o;2158:538::-;2228:6;2236;2244;2293:2;2281:9;2272:7;2268:23;2264:32;2261:2;;;2309:1;2306;2299:12;2261:2;2352:1;2377:51;2420:7;2411:6;2400:9;2396:22;2377:51;:::i;:::-;2367:61;;2323:115;2477:2;2503:51;2546:7;2537:6;2526:9;2522:22;2503:51;:::i;:::-;2493:61;;2448:116;2603:2;2629:50;2671:7;2662:6;2651:9;2647:22;2629:50;:::i;:::-;2619:60;;2574:115;2251:445;;;;;:::o;2702:516::-;2778:6;2786;2835:2;2823:9;2814:7;2810:23;2806:32;2803:2;;;2851:1;2848;2841:12;2803:2;2894:1;2919:51;2962:7;2953:6;2942:9;2938:22;2919:51;:::i;:::-;2909:61;;2865:115;3047:2;3036:9;3032:18;3019:32;3078:18;3070:6;3067:30;3064:2;;;3110:1;3107;3100:12;3064:2;3138:63;3193:7;3184:6;3173:9;3169:22;3138:63;:::i;:::-;3128:73;;2990:221;2793:425;;;;;:::o;3224:403::-;3290:6;3298;3347:2;3335:9;3326:7;3322:23;3318:32;3315:2;;;3363:1;3360;3353:12;3315:2;3406:1;3431:51;3474:7;3465:6;3454:9;3450:22;3431:51;:::i;:::-;3421:61;;3377:115;3531:2;3557:53;3602:7;3593:6;3582:9;3578:22;3557:53;:::i;:::-;3547:63;;3502:118;3305:322;;;;;:::o;3633:375::-;3702:6;3751:2;3739:9;3730:7;3726:23;3722:32;3719:2;;;3767:1;3764;3757:12;3719:2;3838:1;3827:9;3823:17;3810:31;3868:18;3860:6;3857:30;3854:2;;;3900:1;3897;3890:12;3854:2;3928:63;3983:7;3974:6;3963:9;3959:22;3928:63;:::i;:::-;3918:73;;3781:220;3709:299;;;;:::o;4014:262::-;4073:6;4122:2;4110:9;4101:7;4097:23;4093:32;4090:2;;;4138:1;4135;4128:12;4090:2;4181:1;4206:53;4251:7;4242:6;4231:9;4227:22;4206:53;:::i;:::-;4196:63;;4152:117;4080:196;;;;:::o;4282:108::-;4359:24;4377:5;4359:24;:::i;:::-;4354:3;4347:37;4337:53;;:::o;4396:118::-;4483:24;4501:5;4483:24;:::i;:::-;4478:3;4471:37;4461:53;;:::o;4520:99::-;4591:21;4606:5;4591:21;:::i;:::-;4586:3;4579:34;4569:50;;:::o;4625:109::-;4706:21;4721:5;4706:21;:::i;:::-;4701:3;4694:34;4684:50;;:::o;4740:102::-;4813:22;4829:5;4813:22;:::i;:::-;4808:3;4801:35;4791:51;;:::o;4848:112::-;4931:22;4947:5;4931:22;:::i;:::-;4926:3;4919:35;4909:51;;:::o;4966:344::-;5044:3;5072:39;5105:5;5072:39;:::i;:::-;5127:61;5181:6;5176:3;5127:61;:::i;:::-;5120:68;;5197:52;5242:6;5237:3;5230:4;5223:5;5219:16;5197:52;:::i;:::-;5274:29;5296:6;5274:29;:::i;:::-;5269:3;5265:39;5258:46;;5048:262;;;;;:::o;5316:364::-;5404:3;5432:39;5465:5;5432:39;:::i;:::-;5487:71;5551:6;5546:3;5487:71;:::i;:::-;5480:78;;5567:52;5612:6;5607:3;5600:4;5593:5;5589:16;5567:52;:::i;:::-;5644:29;5666:6;5644:29;:::i;:::-;5639:3;5635:39;5628:46;;5408:272;;;;;:::o;5686:377::-;5792:3;5820:39;5853:5;5820:39;:::i;:::-;5875:89;5957:6;5952:3;5875:89;:::i;:::-;5868:96;;5973:52;6018:6;6013:3;6006:4;5999:5;5995:16;5973:52;:::i;:::-;6050:6;6045:3;6041:16;6034:23;;5796:267;;;;;:::o;6069:366::-;6211:3;6232:67;6296:2;6291:3;6232:67;:::i;:::-;6225:74;;6308:93;6397:3;6308:93;:::i;:::-;6426:2;6421:3;6417:12;6410:19;;6215:220;;;:::o;6441:366::-;6583:3;6604:67;6668:2;6663:3;6604:67;:::i;:::-;6597:74;;6680:93;6769:3;6680:93;:::i;:::-;6798:2;6793:3;6789:12;6782:19;;6587:220;;;:::o;6813:366::-;6955:3;6976:67;7040:2;7035:3;6976:67;:::i;:::-;6969:74;;7052:93;7141:3;7052:93;:::i;:::-;7170:2;7165:3;7161:12;7154:19;;6959:220;;;:::o;7185:366::-;7327:3;7348:67;7412:2;7407:3;7348:67;:::i;:::-;7341:74;;7424:93;7513:3;7424:93;:::i;:::-;7542:2;7537:3;7533:12;7526:19;;7331:220;;;:::o;7557:366::-;7699:3;7720:67;7784:2;7779:3;7720:67;:::i;:::-;7713:74;;7796:93;7885:3;7796:93;:::i;:::-;7914:2;7909:3;7905:12;7898:19;;7703:220;;;:::o;7929:366::-;8071:3;8092:67;8156:2;8151:3;8092:67;:::i;:::-;8085:74;;8168:93;8257:3;8168:93;:::i;:::-;8286:2;8281:3;8277:12;8270:19;;8075:220;;;:::o;8301:366::-;8443:3;8464:67;8528:2;8523:3;8464:67;:::i;:::-;8457:74;;8540:93;8629:3;8540:93;:::i;:::-;8658:2;8653:3;8649:12;8642:19;;8447:220;;;:::o;8673:366::-;8815:3;8836:67;8900:2;8895:3;8836:67;:::i;:::-;8829:74;;8912:93;9001:3;8912:93;:::i;:::-;9030:2;9025:3;9021:12;9014:19;;8819:220;;;:::o;9045:366::-;9187:3;9208:67;9272:2;9267:3;9208:67;:::i;:::-;9201:74;;9284:93;9373:3;9284:93;:::i;:::-;9402:2;9397:3;9393:12;9386:19;;9191:220;;;:::o;9417:398::-;9576:3;9597:83;9678:1;9673:3;9597:83;:::i;:::-;9590:90;;9689:93;9778:3;9689:93;:::i;:::-;9807:1;9802:3;9798:11;9791:18;;9580:235;;;:::o;9885:1144::-;10006:3;10042:4;10037:3;10033:14;10136:4;10129:5;10125:16;10119:23;10155:63;10212:4;10207:3;10203:14;10189:12;10155:63;:::i;:::-;10057:171;10310:4;10303:5;10299:16;10293:23;10329:59;10382:4;10377:3;10373:14;10359:12;10329:59;:::i;:::-;10238:160;10481:4;10474:5;10470:16;10464:23;10500:57;10551:4;10546:3;10542:14;10528:12;10500:57;:::i;:::-;10408:159;10661:4;10654:5;10650:16;10644:23;10680:63;10737:4;10732:3;10728:14;10714:12;10680:63;:::i;:::-;10577:176;10839:4;10832:5;10828:16;10822:23;10892:3;10886:4;10882:14;10875:4;10870:3;10866:14;10859:38;10918:73;10986:4;10972:12;10918:73;:::i;:::-;10910:81;;10763:239;11019:4;11012:11;;10011:1018;;;;;:::o;11035:118::-;11122:24;11140:5;11122:24;:::i;:::-;11117:3;11110:37;11100:53;;:::o;11159:275::-;11291:3;11313:95;11404:3;11395:6;11313:95;:::i;:::-;11306:102;;11425:3;11418:10;;11295:139;;;;:::o;11440:379::-;11624:3;11646:147;11789:3;11646:147;:::i;:::-;11639:154;;11810:3;11803:10;;11628:191;;;:::o;11825:222::-;11918:4;11956:2;11945:9;11941:18;11933:26;;11969:71;12037:1;12026:9;12022:17;12013:6;11969:71;:::i;:::-;11923:124;;;;:::o;12053:735::-;12268:4;12306:3;12295:9;12291:19;12283:27;;12320:71;12388:1;12377:9;12373:17;12364:6;12320:71;:::i;:::-;12401:68;12465:2;12454:9;12450:18;12441:6;12401:68;:::i;:::-;12479:66;12541:2;12530:9;12526:18;12517:6;12479:66;:::i;:::-;12555:72;12623:2;12612:9;12608:18;12599:6;12555:72;:::i;:::-;12675:9;12669:4;12665:20;12659:3;12648:9;12644:19;12637:49;12703:78;12776:4;12767:6;12703:78;:::i;:::-;12695:86;;12273:515;;;;;;;;:::o;12794:210::-;12881:4;12919:2;12908:9;12904:18;12896:26;;12932:65;12994:1;12983:9;12979:17;12970:6;12932:65;:::i;:::-;12886:118;;;;:::o;13010:214::-;13099:4;13137:2;13126:9;13122:18;13114:26;;13150:67;13214:1;13203:9;13199:17;13190:6;13150:67;:::i;:::-;13104:120;;;;:::o;13230:324::-;13347:4;13385:2;13374:9;13370:18;13362:26;;13398:67;13462:1;13451:9;13447:17;13438:6;13398:67;:::i;:::-;13475:72;13543:2;13532:9;13528:18;13519:6;13475:72;:::i;:::-;13352:202;;;;;:::o;13560:434::-;13705:4;13743:2;13732:9;13728:18;13720:26;;13756:67;13820:1;13809:9;13805:17;13796:6;13756:67;:::i;:::-;13833:72;13901:2;13890:9;13886:18;13877:6;13833:72;:::i;:::-;13915;13983:2;13972:9;13968:18;13959:6;13915:72;:::i;:::-;13710:284;;;;;;:::o;14000:312::-;14111:4;14149:2;14138:9;14134:18;14126:26;;14162:67;14226:1;14215:9;14211:17;14202:6;14162:67;:::i;:::-;14239:66;14301:2;14290:9;14286:18;14277:6;14239:66;:::i;:::-;14116:196;;;;;:::o;14318:419::-;14484:4;14522:2;14511:9;14507:18;14499:26;;14571:9;14565:4;14561:20;14557:1;14546:9;14542:17;14535:47;14599:131;14725:4;14599:131;:::i;:::-;14591:139;;14489:248;;;:::o;14743:419::-;14909:4;14947:2;14936:9;14932:18;14924:26;;14996:9;14990:4;14986:20;14982:1;14971:9;14967:17;14960:47;15024:131;15150:4;15024:131;:::i;:::-;15016:139;;14914:248;;;:::o;15168:419::-;15334:4;15372:2;15361:9;15357:18;15349:26;;15421:9;15415:4;15411:20;15407:1;15396:9;15392:17;15385:47;15449:131;15575:4;15449:131;:::i;:::-;15441:139;;15339:248;;;:::o;15593:419::-;15759:4;15797:2;15786:9;15782:18;15774:26;;15846:9;15840:4;15836:20;15832:1;15821:9;15817:17;15810:47;15874:131;16000:4;15874:131;:::i;:::-;15866:139;;15764:248;;;:::o;16018:419::-;16184:4;16222:2;16211:9;16207:18;16199:26;;16271:9;16265:4;16261:20;16257:1;16246:9;16242:17;16235:47;16299:131;16425:4;16299:131;:::i;:::-;16291:139;;16189:248;;;:::o;16443:419::-;16609:4;16647:2;16636:9;16632:18;16624:26;;16696:9;16690:4;16686:20;16682:1;16671:9;16667:17;16660:47;16724:131;16850:4;16724:131;:::i;:::-;16716:139;;16614:248;;;:::o;16868:419::-;17034:4;17072:2;17061:9;17057:18;17049:26;;17121:9;17115:4;17111:20;17107:1;17096:9;17092:17;17085:47;17149:131;17275:4;17149:131;:::i;:::-;17141:139;;17039:248;;;:::o;17293:419::-;17459:4;17497:2;17486:9;17482:18;17474:26;;17546:9;17540:4;17536:20;17532:1;17521:9;17517:17;17510:47;17574:131;17700:4;17574:131;:::i;:::-;17566:139;;17464:248;;;:::o;17718:419::-;17884:4;17922:2;17911:9;17907:18;17899:26;;17971:9;17965:4;17961:20;17957:1;17946:9;17942:17;17935:47;17999:131;18125:4;17999:131;:::i;:::-;17991:139;;17889:248;;;:::o;18143:377::-;18288:4;18326:2;18315:9;18311:18;18303:26;;18375:9;18369:4;18365:20;18361:1;18350:9;18346:17;18339:47;18403:110;18508:4;18499:6;18403:110;:::i;:::-;18395:118;;18293:227;;;;:::o;18526:222::-;18619:4;18657:2;18646:9;18642:18;18634:26;;18670:71;18738:1;18727:9;18723:17;18714:6;18670:71;:::i;:::-;18624:124;;;;:::o;18754:129::-;18788:6;18815:20;;:::i;:::-;18805:30;;18844:33;18872:4;18864:6;18844:33;:::i;:::-;18795:88;;;:::o;18889:75::-;18922:6;18955:2;18949:9;18939:19;;18929:35;:::o;18970:308::-;19032:4;19122:18;19114:6;19111:30;19108:2;;;19144:18;;:::i;:::-;19108:2;19182:29;19204:6;19182:29;:::i;:::-;19174:37;;19266:4;19260;19256:15;19248:23;;19037:241;;;:::o;19284:99::-;19336:6;19370:5;19364:12;19354:22;;19343:40;;;:::o;19389:147::-;19490:11;19527:3;19512:18;;19502:34;;;;:::o;19542:159::-;19616:11;19650:6;19645:3;19638:19;19690:4;19685:3;19681:14;19666:29;;19628:73;;;;:::o;19707:169::-;19791:11;19825:6;19820:3;19813:19;19865:4;19860:3;19856:14;19841:29;;19803:73;;;;:::o;19882:148::-;19984:11;20021:3;20006:18;;19996:34;;;;:::o;20036:96::-;20073:7;20102:24;20120:5;20102:24;:::i;:::-;20091:35;;20081:51;;;:::o;20138:90::-;20172:7;20215:5;20208:13;20201:21;20190:32;;20180:48;;;:::o;20234:90::-;20269:7;20312:5;20309:1;20298:20;20287:31;;20277:47;;;:::o;20330:126::-;20367:7;20407:42;20400:5;20396:54;20385:65;;20375:81;;;:::o;20462:77::-;20499:7;20528:5;20517:16;;20507:32;;;:::o;20545:154::-;20629:6;20624:3;20619;20606:30;20691:1;20682:6;20677:3;20673:16;20666:27;20596:103;;;:::o;20705:307::-;20773:1;20783:113;20797:6;20794:1;20791:13;20783:113;;;20882:1;20877:3;20873:11;20867:18;20863:1;20858:3;20854:11;20847:39;20819:2;20816:1;20812:10;20807:15;;20783:113;;;20914:6;20911:1;20908:13;20905:2;;;20994:1;20985:6;20980:3;20976:16;20969:27;20905:2;20754:258;;;;:::o;21018:320::-;21062:6;21099:1;21093:4;21089:12;21079:22;;21146:1;21140:4;21136:12;21167:18;21157:2;;21223:4;21215:6;21211:17;21201:27;;21157:2;21285;21277:6;21274:14;21254:18;21251:38;21248:2;;;21304:18;;:::i;:::-;21248:2;21069:269;;;;:::o;21344:281::-;21427:27;21449:4;21427:27;:::i;:::-;21419:6;21415:40;21557:6;21545:10;21542:22;21521:18;21509:10;21506:34;21503:62;21500:2;;;21568:18;;:::i;:::-;21500:2;21608:10;21604:2;21597:22;21387:238;;;:::o;21631:180::-;21679:77;21676:1;21669:88;21776:4;21773:1;21766:15;21800:4;21797:1;21790:15;21817:180;21865:77;21862:1;21855:88;21962:4;21959:1;21952:15;21986:4;21983:1;21976:15;22003:102;22044:6;22095:2;22091:7;22086:2;22079:5;22075:14;22071:28;22061:38;;22051:54;;;:::o;22111:225::-;22251:34;22247:1;22239:6;22235:14;22228:58;22320:8;22315:2;22307:6;22303:15;22296:33;22217:119;:::o;22342:172::-;22482:24;22478:1;22470:6;22466:14;22459:48;22448:66;:::o;22520:235::-;22660:34;22656:1;22648:6;22644:14;22637:58;22729:18;22724:2;22716:6;22712:15;22705:43;22626:129;:::o;22761:174::-;22901:26;22897:1;22889:6;22885:14;22878:50;22867:68;:::o;22941:251::-;23081:34;23077:1;23069:6;23065:14;23058:58;23150:34;23145:2;23137:6;23133:15;23126:59;23047:145;:::o;23198:181::-;23338:33;23334:1;23326:6;23322:14;23315:57;23304:75;:::o;23385:182::-;23525:34;23521:1;23513:6;23509:14;23502:58;23491:76;:::o;23573:224::-;23713:34;23709:1;23701:6;23697:14;23690:58;23782:7;23777:2;23769:6;23765:15;23758:32;23679:118;:::o;23803:224::-;23943:34;23939:1;23931:6;23927:14;23920:58;24012:7;24007:2;23999:6;23995:15;23988:32;23909:118;:::o;24033:114::-;24139:8;:::o;24153:122::-;24226:24;24244:5;24226:24;:::i;:::-;24219:5;24216:35;24206:2;;24265:1;24262;24255:12;24206:2;24196:79;:::o;24281:116::-;24351:21;24366:5;24351:21;:::i;:::-;24344:5;24341:32;24331:2;;24387:1;24384;24377:12;24331:2;24321:76;:::o;24403:118::-;24474:22;24490:5;24474:22;:::i;:::-;24467:5;24464:33;24454:2;;24511:1;24508;24501:12;24454:2;24444:77;:::o;24527:122::-;24600:24;24618:5;24600:24;:::i;:::-;24593:5;24590:35;24580:2;;24639:1;24636;24629:12;24580:2;24570:79;:::o" + }, + "methodIdentifiers": { + "ApplyForPassport(int64,string)": "d5998aeb", + "ApprovePassport(address)": "1755e9e6", + "DeclinePassport(address)": "9421da61", + "DeletePassport(address)": "65104afc", + "GetOwner()": "0ae50a39", + "GetPassportByAddress(address)": "1423ea07", + "GetPassportByNickName(string)": "b25047c2", + "GetPassportByTgId(int64)": "65a5637e", + "GetPassportFee()": "48dc1561", + "GetPassportWalletByID(int64)": "0c2fc6e3", + "GetTgIdByAddress(address)": "61cabe37", + "GetTrust(int64,int64)": "4ac054bb", + "GetWalletByNickName(string)": "d2114e18", + "SetPassportFee(uint256)": "d2125bd2", + "SetTrustToID(int64,int64,bool)": "b910c898", + "UpdateUserName(string)": "21e6531d", + "opinion_changed(int64,uint256)": "6a8ec05e", + "owner()": "8da5cb5b", + "passports(address)": "e37c132b", + "renounceOwnership()": "715018a6", + "tgIdToAddress(int64)": "9413c642", + "transferOwnership(address)": "f2fde38b", + "trust_global(int64,int64)": "239f60fa", + "username_wallets(string)": "59cca93b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"from\",\"type\":\"int64\"},{\"indexed\":true,\"internalType\":\"int64\",\"name\":\"to\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"bool\",\"name\":\"trust\",\"type\":\"bool\"}],\"name\":\"TrustChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wallet_address\",\"type\":\"address\"}],\"name\":\"passportApplied\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wallet_address\",\"type\":\"address\"}],\"name\":\"passportAppliedIndexed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"issuer\",\"type\":\"address\"}],\"name\":\"passportApproved\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"wallet\",\"type\":\"address\"}],\"name\":\"passportDenied\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"internalType\":\"string\",\"name\":\"user_name_\",\"type\":\"string\"}],\"name\":\"ApplyForPassport\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passportToApprove\",\"type\":\"address\"}],\"name\":\"ApprovePassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passportToDecline\",\"type\":\"address\"}],\"name\":\"DeclinePassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passportToDecline\",\"type\":\"address\"}],\"name\":\"DeletePassport\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GetOwner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user_wallet\",\"type\":\"address\"}],\"name\":\"GetPassportByAddress\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"userName\",\"type\":\"string\"}],\"internalType\":\"struct TGPassport.Passport\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"user_name_\",\"type\":\"string\"}],\"name\":\"GetPassportByNickName\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"userName\",\"type\":\"string\"}],\"internalType\":\"struct TGPassport.Passport\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"tgId_\",\"type\":\"int64\"}],\"name\":\"GetPassportByTgId\",\"outputs\":[{\"components\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"userName\",\"type\":\"string\"}],\"internalType\":\"struct TGPassport.Passport\",\"name\":\"\",\"type\":\"tuple\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"GetPassportFee\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"tgId_\",\"type\":\"int64\"}],\"name\":\"GetPassportWalletByID\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"user_wallet\",\"type\":\"address\"}],\"name\":\"GetTgIdByAddress\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"tgid\",\"type\":\"int64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"from\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"to\",\"type\":\"int64\"}],\"name\":\"GetTrust\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"user_name_\",\"type\":\"string\"}],\"name\":\"GetWalletByNickName\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"passportFee_\",\"type\":\"uint256\"}],\"name\":\"SetPassportFee\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"from\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"to\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"trust\",\"type\":\"bool\"}],\"name\":\"SetTrustToID\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"new_user_name_\",\"type\":\"string\"}],\"name\":\"UpdateUserName\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"},{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"opinion_changed\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"passports\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"userAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"validatorAddress\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"userName\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"name\":\"tgIdToAddress\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"name\":\"trust_global\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"string\",\"name\":\"\",\"type\":\"string\"}],\"name\":\"username_wallets\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"ApplyForPassport(int64,string)\":{\"params\":{\"applyerTg\":\"unic id for telegram user, in telegram it's int64 (number)\",\"user_name_\":\"is username (like @username)*\"}},\"ApprovePassport(address)\":{\"params\":{\"passportToApprove\":\"address of user wallet which attached to him\"}},\"DeclinePassport(address)\":{\"params\":{\"passportToDecline\":\"address of user wallet\"}},\"DeletePassport(address)\":{\"details\":\"This function is a service function which allow Owner to erase already approved passport and make clean state contract. NOT FOR USE IN PRODUCTION\"},\"GetPassportFee()\":{\"details\":\"getter to obtain how much user will pay for apply\"},\"SetPassportFee(uint256)\":{\"details\":\"setting fee for applying for passport\"},\"SetTrustToID(int64,int64,bool)\":{\"details\":\"set trust 'from' tgid 'to' tgid\"},\"UpdateUserName(string)\":{\"details\":\"This function update user nicname if user change it\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ApplyForPassport(int64,string)\":{\"notice\":\"This function for USER who try to obtain some tg_id\"},\"ApprovePassport(address)\":{\"notice\":\"This function approving passport (use for bot) which approve that user owns it's tg_id and nicname he want to attach with\"},\"DeclinePassport(address)\":{\"notice\":\"This function decline application end erase junk data\"},\"GetTrust(int64,int64)\":{\"notice\":\"get to know if tgid from trust tgid to\"},\"opinion_changed(int64,uint256)\":{\"notice\":\" 1. by defult user TRUST N0 0NE. 2. we can get int64[] opinion_changed, so we get array of user who express trust/untrust to specific user 3. then we can call GetTrust(user_from,user_to) for each of result from opinion_changed, and get arrays of trusters/untrusters attached to specific user ..... possibly there is a better way to do it\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/TGPassport.sol\":\"TGPassport\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"contracts/TGPassport.sol\":{\"keccak256\":\"0x52865a08e7e8312183726b929f52c223009699aeaf597666d038ee7349baa3b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eba014fcc483e421a761eaa985074b30dab133a32a7b347449a75860cace3e90\",\"dweb:/ipfs/Qmd75cnT51zsyASrTHd5RdQ3GBtcwTt69gTqocww6YWwo6\"]}},\"version\":1}" + } + }, + "contracts/Union.sol": { + "Union": { + "abi": [ + { + "inputs": [ + { + "internalType": "address", + "name": "passportContract_", + "type": "address" + } + ], + "stateMutability": "nonpayable", + "type": "constructor" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int64", + "name": "chat_id", + "type": "int64" + }, + { + "indexed": false, + "internalType": "int64", + "name": "applier_id", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "multy_wallet_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum Union.VotingType", + "name": "vote_type", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "voting_token_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "group_name", + "type": "string" + } + ], + "name": "ApplicationForJoin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "int64", + "name": "chat_id", + "type": "int64" + }, + { + "indexed": false, + "internalType": "int64", + "name": "applier_id", + "type": "int64" + }, + { + "indexed": false, + "internalType": "address", + "name": "multy_wallet_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum Union.VotingType", + "name": "vote_type", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "voting_token_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "group_name", + "type": "string" + } + ], + "name": "ApplicationForJoinIndexed", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int256", + "name": "chat_id", + "type": "int256" + }, + { + "indexed": false, + "internalType": "address", + "name": "multy_wallet_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum Union.VotingType", + "name": "vote_type", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "voting_token_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "group_name", + "type": "string" + } + ], + "name": "ApprovedJoin", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": false, + "internalType": "int256", + "name": "chat_id", + "type": "int256" + }, + { + "indexed": false, + "internalType": "address", + "name": "multy_wallet_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "enum Union.VotingType", + "name": "vote_type", + "type": "uint8" + }, + { + "indexed": false, + "internalType": "address", + "name": "voting_token_address", + "type": "address" + }, + { + "indexed": false, + "internalType": "string", + "name": "group_name", + "type": "string" + } + ], + "name": "DeclinedApplication", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "address", + "name": "previousOwner", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "OwnershipTransferred", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "applyerTg", + "type": "int64" + }, + { + "internalType": "int64", + "name": "daoTg", + "type": "int64" + }, + { + "internalType": "address", + "name": "dao_", + "type": "address" + }, + { + "internalType": "enum Union.VotingType", + "name": "votingType_", + "type": "uint8" + }, + { + "internalType": "address", + "name": "votingTokenContract_", + "type": "address" + }, + { + "internalType": "string", + "name": "dao_name_", + "type": "string" + } + ], + "name": "ApplyForUnion", + "outputs": [], + "stateMutability": "payable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "daoAddress", + "type": "address" + } + ], + "name": "ApproveJoin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "name": "Chat_id_array", + "outputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "daoAddress", + "type": "address" + } + ], + "name": "DeclineJoin", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "", + "type": "int64" + } + ], + "name": "daoAddresses", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "name": "daos", + "outputs": [ + { + "internalType": "address", + "name": "chatOwnerAddress", + "type": "address" + }, + { + "internalType": "int64", + "name": "tgId", + "type": "int64" + }, + { + "internalType": "bool", + "name": "valid", + "type": "bool" + }, + { + "internalType": "address", + "name": "multisigAddress", + "type": "address" + }, + { + "internalType": "enum Union.VotingType", + "name": "votingType", + "type": "uint8" + }, + { + "internalType": "address", + "name": "votingToken", + "type": "address" + }, + { + "internalType": "string", + "name": "group_name", + "type": "string" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "int64", + "name": "chat_id", + "type": "int64" + } + ], + "name": "getDaoAddressbyChatId", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getDaoCount", + "outputs": [ + { + "internalType": "uint256", + "name": "", + "type": "uint256" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "getModeratorIdentifier", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "moderator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "owner", + "outputs": [ + { + "internalType": "address", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "renounceOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "tgpassport", + "outputs": [ + { + "internalType": "contract TGPassport", + "name": "", + "type": "address" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "address", + "name": "newOwner", + "type": "address" + } + ], + "name": "transferOwnership", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + } + ], + "evm": { + "bytecode": { + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:805:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "70:80:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "80:22:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "95:6:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "89:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "89:13:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "80:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "138:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "111:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "111:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "111:33:14" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "48:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "56:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "64:5:14", + "type": "" + } + ], + "src": "7:143:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "233:207:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "279:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "288:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "291:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "281:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "281:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "281:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "254:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "263:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "250:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "250:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "275:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "246:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "246:32:14" + }, + "nodeType": "YulIf", + "src": "243:2:14" + }, + { + "nodeType": "YulBlock", + "src": "305:128:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "320:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "334:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "324:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "349:74:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "395:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "406:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "391:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "391:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "415:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "359:31:14" + }, + "nodeType": "YulFunctionCall", + "src": "359:64:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "349:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "203:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "214:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "226:6:14", + "type": "" + } + ], + "src": "156:284:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "491:51:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "501:35:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "530:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "512:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "512:24:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "501:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "473:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "483:7:14", + "type": "" + } + ], + "src": "446:96:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "593:81:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "603:65:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "618:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "625:42:14", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "614:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "614:54:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "603:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "575:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "585:7:14", + "type": "" + } + ], + "src": "548:126:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "723:79:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "780:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "789:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "792:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "782:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "782:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "782:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "746:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "771:5:14" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "753:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "753:24:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "743:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "743:35:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "736:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "736:43:14" + }, + "nodeType": "YulIf", + "src": "733:2:14" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "716:5:14", + "type": "" + } + ], + "src": "680:122:14" + } + ] + }, + "contents": "{\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 14, + "language": "Yul", + "name": "#utility.yul" + } + ], + "linkReferences": {}, + "object": "6080604052620000146200022060201b60201c565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073383a9e83e36796106eac11e8c2fbe8b92ff46d3a600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000b657600080fd5b5060405162003d3938038062003d398339818101604052810190620000dc919062000488565b620000fc620000f06200024960201b60201c565b6200025160201b60201c565b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001936000801b336200031560201b60201c565b620001c57fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157336200031560201b60201c565b620002197fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200031560201b60201c565b5062000502565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200032782826200040660201b60201c565b6200040257600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003a76200024960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000815190506200048281620004e8565b92915050565b6000602082840312156200049b57600080fd5b6000620004ab8482850162000471565b91505092915050565b6000620004c182620004c8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620004f381620004b4565b8114620004ff57600080fd5b50565b61382780620005126000396000f3fe60806040526004361061012a5760003560e01c806391d14854116100ab578063d4d8f8921161006f578063d4d8f892146103d7578063d547741f14610402578063d698b3641461042b578063d6b2da8e14610468578063e57bede4146104a5578063f2fde38b146104e25761012a565b806391d14854146102e7578063a217fddf14610324578063ad8f86601461034f578063b9f7076f14610378578063c25f3cf6146103945761012a565b806338743904116100f257806338743904146102245780635d1ce88f1461024f578063715018a61461027a5780637527d5a1146102915780638da5cb5b146102bc5761012a565b806301ffc9a71461012f578063248a9ca31461016c5780632f2ff15d146101a957806336568abe146101d257806336b9f727146101fb575b600080fd5b34801561013b57600080fd5b50610156600480360381019061015191906128b8565b61050b565b6040516101639190612dbe565b60405180910390f35b34801561017857600080fd5b50610193600480360381019061018e9190612853565b610585565b6040516101a09190612dd9565b60405180910390f35b3480156101b557600080fd5b506101d060048036038101906101cb919061287c565b6105a5565b005b3480156101de57600080fd5b506101f960048036038101906101f4919061287c565b6105ce565b005b34801561020757600080fd5b50610222600480360381019061021d91906127d8565b610651565b005b34801561023057600080fd5b50610239610b11565b6040516102469190612dd9565b60405180910390f35b34801561025b57600080fd5b50610264610b35565b6040516102719190612dd9565b60405180910390f35b34801561028657600080fd5b5061028f610b5d565b005b34801561029d57600080fd5b506102a6610be5565b6040516102b39190612e0f565b60405180910390f35b3480156102c857600080fd5b506102d1610c0b565b6040516102de9190612d2d565b60405180910390f35b3480156102f357600080fd5b5061030e6004803603810190610309919061287c565b610c34565b60405161031b9190612dbe565b60405180910390f35b34801561033057600080fd5b50610339610c9f565b6040516103469190612dd9565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906127d8565b610ca6565b005b610392600480360381019061038d919061290a565b611271565b005b3480156103a057600080fd5b506103bb60048036038101906103b691906127d8565b6119bb565b6040516103ce9796959493929190612d48565b60405180910390f35b3480156103e357600080fd5b506103ec611b0c565b6040516103f991906130c3565b60405180910390f35b34801561040e57600080fd5b506104296004803603810190610424919061287c565b611b1d565b005b34801561043757600080fd5b50610452600480360381019061044d91906129ab565b611b46565b60405161045f9190612e2a565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a91906128e1565b611b7d565b60405161049c9190612d2d565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c791906128e1565b611bb0565b6040516104d99190612d2d565b60405180910390f35b3480156104ee57600080fd5b50610509600480360381019061050491906127d8565b611bf8565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82611cf0565b5b9050919050565b600060016000838152602001908152602001600020600101549050919050565b6105ae82610585565b6105bf816105ba611d5a565b611d62565b6105c98383611dff565b505050565b6105d6611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063a906130a3565b60405180910390fd5b61064d8282611edf565b5050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e1576106838161067e611d5a565b611d62565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660028111156107fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610836577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820180546108a090613375565b80601f01602080910402602001604051908101604052809291908181526020018280546108cc90613375565b80156109195780601f106108ee57610100808354040283529160200191610919565b820191906000526020600020905b8154815290600101906020018083116108fc57829003601f168201915b505050505081525050905060001515816040015115151461096f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096690613083565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160146101000a81549060ff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610a7791906125bb565b505060056000826020015160070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fd06e11c55c5f21676305517c655a0188744d3bee09361e15470276872d56a0b98160200151826060015183608001518460a001518560c00151604051610b04959493929190612e45565b60405180910390a1505050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e15781565b60007fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157905090565b610b65611d5a565b73ffffffffffffffffffffffffffffffffffffffff16610b83610c0b565b73ffffffffffffffffffffffffffffffffffffffff1614610bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd090613063565b60405180910390fd5b610be36000611fc1565b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157610cd881610cd3611d5a565b611d62565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610e53577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610e8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610ef590613375565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2190613375565b8015610f6e5780601f10610f4357610100808354040283529160200191610f6e565b820191906000526020600020905b815481529060010190602001808311610f5157829003601f168201915b5050505050815250509050600015158160400151151514610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb90613083565b60405180910390fd5b600181604001901515908115158152505080600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115611146577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906111ae9291906125fb565b509050506111bc6007612085565b6006816020015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055507f19c3744c2d10eda4d05b727f02a712a414539c26678f5f988d98f9635afcac288160200151826060015183608001518460a001518560c00151604051611264959493929190612e45565b60405180910390a1505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c2fc6e3886040518263ffffffff1660e01b81526004016112ce9190612e2a565b60206040518083038186803b1580156112e657600080fd5b505afa1580156112fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131e9190612801565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612fa3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560008860070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142d90613023565b60405180910390fd5b84600560008860070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600061149a858561209b565b905060011515811515146114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613043565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166348dc15616040518163ffffffff1660e01b815260040160206040518083038186803b15801561154b57600080fd5b505afa15801561155f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158391906129d4565b6002819055506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018860070b81526020016000151581526020018773ffffffffffffffffffffffffffffffffffffffff168152602001866002811115611617577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff021916908360028111156117ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906118149291906125fb565b509050506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660025460405161186290612cde565b60006040518083038185875af1925050503d806000811461189f576040519150601f19603f3d011682016040523d82523d6000602084013e6118a4565b606091505b50509050806118e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118df90612fe3565b60405180910390fd5b600254341461192c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192390613003565b60405180910390fd5b7f0ae33dac4eb1cdcaf489d2a9a56c45d17257612cad7c531513d4e425951349e2888a8989898960405161196596959493929190612ef9565b60405180910390a18760070b7fefcac77603ca996faafa29a1d72a90249e186f4a4af6ad89434b18a66b6e9cd98a898989896040516119a8959493929190612e9f565b60405180910390a2505050505050505050565b60086020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003018054611a8990613375565b80601f0160208091040260200160405190810160405280929190818152602001828054611ab590613375565b8015611b025780601f10611ad757610100808354040283529160200191611b02565b820191906000526020600020905b815481529060010190602001808311611ae557829003601f168201915b5050505050905087565b6000611b1860076122b3565b905090565b611b2682610585565b611b3781611b32611d5a565b611d62565b611b418383611edf565b505050565b60068181548110611b5657600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600560008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080915050919050565b611c00611d5a565b73ffffffffffffffffffffffffffffffffffffffff16611c1e610c0b565b73ffffffffffffffffffffffffffffffffffffffff1614611c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6b90613063565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdb90612fc3565b60405180910390fd5b611ced81611fc1565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b611d6c8282610c34565b611dfb57611d918173ffffffffffffffffffffffffffffffffffffffff1660146122c1565b611d9f8360001c60206122c1565b604051602001611db0929190612cf3565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df29190612f61565b60405180910390fd5b5050565b611e098282610c34565b611edb57600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e80611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611ee98282610c34565b15611fbd5760006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f62611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b60006002808111156120d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561210f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156121ac578173ffffffffffffffffffffffffffffffffffffffff166301ffc9a763780e9d6360e01b6040518263ffffffff1660e01b81526004016121559190612df4565b60206040518083038186803b15801561216d57600080fd5b505afa158015612181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a5919061282a565b90506122ad565b600060028111156121e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561221f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156122ac5760128273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561226d57600080fd5b505afa158015612281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a591906129fd565b60ff161490505b5b92915050565b600081600001549050919050565b6060600060028360026122d491906131bc565b6122de9190613166565b67ffffffffffffffff81111561231d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561234f5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106123ad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612437577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261247791906131bc565b6124819190613166565b90505b600181111561256d577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106124e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110612526577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806125669061334b565b9050612484565b50600084146125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a890612f83565b60405180910390fd5b8091505092915050565b5080546125c790613375565b6000825580601f106125d957506125f8565b601f0160209004906000526020600020908101906125f79190612681565b5b50565b82805461260790613375565b90600052602060002090601f0160209004810192826126295760008555612670565b82601f1061264257805160ff1916838001178555612670565b82800160010185558215612670579182015b8281111561266f578251825591602001919060010190612654565b5b50905061267d9190612681565b5090565b5b8082111561269a576000816000905550600101612682565b5090565b60006126b16126ac84613103565b6130de565b9050828152602081018484840111156126c957600080fd5b6126d4848285613309565b509392505050565b6000813590506126eb81613740565b92915050565b60008151905061270081613740565b92915050565b60008151905061271581613757565b92915050565b60008135905061272a8161376e565b92915050565b60008135905061273f81613785565b92915050565b6000813590506127548161379c565b92915050565b600081359050612769816137ac565b92915050565b600082601f83011261278057600080fd5b813561279084826020860161269e565b91505092915050565b6000813590506127a8816137c3565b92915050565b6000815190506127bd816137c3565b92915050565b6000815190506127d2816137da565b92915050565b6000602082840312156127ea57600080fd5b60006127f8848285016126dc565b91505092915050565b60006020828403121561281357600080fd5b6000612821848285016126f1565b91505092915050565b60006020828403121561283c57600080fd5b600061284a84828501612706565b91505092915050565b60006020828403121561286557600080fd5b60006128738482850161271b565b91505092915050565b6000806040838503121561288f57600080fd5b600061289d8582860161271b565b92505060206128ae858286016126dc565b9150509250929050565b6000602082840312156128ca57600080fd5b60006128d884828501612730565b91505092915050565b6000602082840312156128f357600080fd5b60006129018482850161275a565b91505092915050565b60008060008060008060c0878903121561292357600080fd5b600061293189828a0161275a565b965050602061294289828a0161275a565b955050604061295389828a016126dc565b945050606061296489828a01612745565b935050608061297589828a016126dc565b92505060a087013567ffffffffffffffff81111561299257600080fd5b61299e89828a0161276f565b9150509295509295509295565b6000602082840312156129bd57600080fd5b60006129cb84828501612799565b91505092915050565b6000602082840312156129e657600080fd5b60006129f4848285016127ae565b91505092915050565b600060208284031215612a0f57600080fd5b6000612a1d848285016127c3565b91505092915050565b612a2f81613216565b82525050565b612a3e81613228565b82525050565b612a4d81613234565b82525050565b612a5c8161323e565b82525050565b612a6b816132c1565b82525050565b612a7a816132e5565b82525050565b612a89816132f7565b82525050565b612a988161327d565b82525050565b6000612aa982613134565b612ab3818561314a565b9350612ac3818560208601613318565b612acc81613494565b840191505092915050565b6000612ae282613134565b612aec818561315b565b9350612afc818560208601613318565b80840191505092915050565b6000612b1560208361314a565b9150612b20826134a5565b602082019050919050565b6000612b38601d8361314a565b9150612b43826134ce565b602082019050919050565b6000612b5b60268361314a565b9150612b66826134f7565b604082019050919050565b6000612b7e60168361314a565b9150612b8982613546565b602082019050919050565b6000612ba160188361314a565b9150612bac8261356f565b602082019050919050565b6000612bc4601c8361314a565b9150612bcf82613598565b602082019050919050565b6000612be7602f8361314a565b9150612bf2826135c1565b604082019050919050565b6000612c0a60208361314a565b9150612c1582613610565b602082019050919050565b6000612c2d60008361313f565b9150612c3882613639565b600082019050919050565b6000612c5060178361315b565b9150612c5b8261363c565b601782019050919050565b6000612c7360328361314a565b9150612c7e82613665565b604082019050919050565b6000612c9660118361315b565b9150612ca1826136b4565b601182019050919050565b6000612cb9602f8361314a565b9150612cc4826136dd565b604082019050919050565b612cd8816132aa565b82525050565b6000612ce982612c20565b9150819050919050565b6000612cfe82612c43565b9150612d0a8285612ad7565b9150612d1582612c89565b9150612d218284612ad7565b91508190509392505050565b6000602082019050612d426000830184612a26565b92915050565b600060e082019050612d5d600083018a612a26565b612d6a6020830189612a8f565b612d776040830188612a35565b612d846060830187612a26565b612d916080830186612a71565b612d9e60a0830185612a26565b81810360c0830152612db08184612a9e565b905098975050505050505050565b6000602082019050612dd36000830184612a35565b92915050565b6000602082019050612dee6000830184612a44565b92915050565b6000602082019050612e096000830184612a53565b92915050565b6000602082019050612e246000830184612a62565b92915050565b6000602082019050612e3f6000830184612a8f565b92915050565b600060a082019050612e5a6000830188612a80565b612e676020830187612a26565b612e746040830186612a71565b612e816060830185612a26565b8181036080830152612e938184612a9e565b90509695505050505050565b600060a082019050612eb46000830188612a8f565b612ec16020830187612a26565b612ece6040830186612a71565b612edb6060830185612a26565b8181036080830152612eed8184612a9e565b90509695505050505050565b600060c082019050612f0e6000830189612a8f565b612f1b6020830188612a8f565b612f286040830187612a26565b612f356060830186612a71565b612f426080830185612a26565b81810360a0830152612f548184612a9e565b9050979650505050505050565b60006020820190508181036000830152612f7b8184612a9e565b905092915050565b60006020820190508181036000830152612f9c81612b08565b9050919050565b60006020820190508181036000830152612fbc81612b2b565b9050919050565b60006020820190508181036000830152612fdc81612b4e565b9050919050565b60006020820190508181036000830152612ffc81612b71565b9050919050565b6000602082019050818103600083015261301c81612b94565b9050919050565b6000602082019050818103600083015261303c81612bb7565b9050919050565b6000602082019050818103600083015261305c81612bda565b9050919050565b6000602082019050818103600083015261307c81612bfd565b9050919050565b6000602082019050818103600083015261309c81612c66565b9050919050565b600060208201905081810360008301526130bc81612cac565b9050919050565b60006020820190506130d86000830184612ccf565b92915050565b60006130e86130f9565b90506130f482826133a7565b919050565b6000604051905090565b600067ffffffffffffffff82111561311e5761311d613465565b5b61312782613494565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613171826132aa565b915061317c836132aa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156131b1576131b06133d8565b5b828201905092915050565b60006131c7826132aa565b91506131d2836132aa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561320b5761320a6133d8565b5b828202905092915050565b60006132218261328a565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60008190506132788261372c565b919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006132cc826132d3565b9050919050565b60006132de8261328a565b9050919050565b60006132f08261326a565b9050919050565b60006133028261327d565b9050919050565b82818337600083830152505050565b60005b8381101561333657808201518184015260208101905061331b565b83811115613345576000848401525b50505050565b6000613356826132aa565b9150600082141561336a576133696133d8565b5b600182039050919050565b6000600282049050600182168061338d57607f821691505b602082108114156133a1576133a0613436565b5b50919050565b6133b082613494565b810181811067ffffffffffffffff821117156133cf576133ce613465565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f5573657220646964206e6f742072656769737472656420696e20544750000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f746869732063686174207467696420616c72656164792074616b656e00000000600082015250565b7f436f6e747261637420646f6573206e6f74206d61746368207769746820636f7260008201527f726573706f6e64696e6720747970650000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f616c726561647920686173206265656e20617070726f766564204f522064696460008201527f6e2774206170706c69656420617420616c6c0000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6003811061373d5761373c613407565b5b50565b61374981613216565b811461375457600080fd5b50565b61376081613228565b811461376b57600080fd5b50565b61377781613234565b811461378257600080fd5b50565b61378e8161323e565b811461379957600080fd5b50565b600381106137a957600080fd5b50565b6137b58161327d565b81146137c057600080fd5b50565b6137cc816132aa565b81146137d757600080fd5b50565b6137e3816132b4565b81146137ee57600080fd5b5056fea264697066735822122030e1ba95a9d2bfe3a4d55d1e19379bc5e93117750d284dc084a397076ad7025464736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH3 0x14 PUSH3 0x220 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH1 0x3 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH20 0x383A9E83E36796106EAC11E8C2FBE8B92FF46D3A PUSH1 0x4 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP CALLVALUE DUP1 ISZERO PUSH3 0xB6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH1 0x40 MLOAD PUSH3 0x3D39 CODESIZE SUB DUP1 PUSH3 0x3D39 DUP4 CODECOPY DUP2 DUP2 ADD PUSH1 0x40 MSTORE DUP2 ADD SWAP1 PUSH3 0xDC SWAP2 SWAP1 PUSH3 0x488 JUMP JUMPDEST PUSH3 0xFC PUSH3 0xF0 PUSH3 0x249 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x251 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST DUP1 PUSH1 0x9 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP1 PUSH1 0xA PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH3 0x193 PUSH1 0x0 DUP1 SHL CALLER PUSH3 0x315 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x1C5 PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 CALLER PUSH3 0x315 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x219 PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 PUSH1 0x4 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH3 0x315 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST POP PUSH3 0x502 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH3 0x327 DUP3 DUP3 PUSH3 0x406 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH3 0x402 JUMPI PUSH1 0x1 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH3 0x3A7 PUSH3 0x249 PUSH1 0x20 SHL PUSH1 0x20 SHR JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH3 0x482 DUP2 PUSH3 0x4E8 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH3 0x49B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH3 0x4AB DUP5 DUP3 DUP6 ADD PUSH3 0x471 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH3 0x4C1 DUP3 PUSH3 0x4C8 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH3 0x4F3 DUP2 PUSH3 0x4B4 JUMP JUMPDEST DUP2 EQ PUSH3 0x4FF JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3827 DUP1 PUSH3 0x512 PUSH1 0x0 CODECOPY PUSH1 0x0 RETURN INVALID PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x91D14854 GT PUSH2 0xAB JUMPI DUP1 PUSH4 0xD4D8F892 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xD4D8F892 EQ PUSH2 0x3D7 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x402 JUMPI DUP1 PUSH4 0xD698B364 EQ PUSH2 0x42B JUMPI DUP1 PUSH4 0xD6B2DA8E EQ PUSH2 0x468 JUMPI DUP1 PUSH4 0xE57BEDE4 EQ PUSH2 0x4A5 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4E2 JUMPI PUSH2 0x12A JUMP JUMPDEST DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2E7 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x324 JUMPI DUP1 PUSH4 0xAD8F8660 EQ PUSH2 0x34F JUMPI DUP1 PUSH4 0xB9F7076F EQ PUSH2 0x378 JUMPI DUP1 PUSH4 0xC25F3CF6 EQ PUSH2 0x394 JUMPI PUSH2 0x12A JUMP JUMPDEST DUP1 PUSH4 0x38743904 GT PUSH2 0xF2 JUMPI DUP1 PUSH4 0x38743904 EQ PUSH2 0x224 JUMPI DUP1 PUSH4 0x5D1CE88F EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x27A JUMPI DUP1 PUSH4 0x7527D5A1 EQ PUSH2 0x291 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2BC JUMPI PUSH2 0x12A JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x12F JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0x36B9F727 EQ PUSH2 0x1FB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x156 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x151 SWAP2 SWAP1 PUSH2 0x28B8 JUMP JUMPDEST PUSH2 0x50B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x163 SWAP2 SWAP1 PUSH2 0x2DBE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x178 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x193 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18E SWAP2 SWAP1 PUSH2 0x2853 JUMP JUMPDEST PUSH2 0x585 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A0 SWAP2 SWAP1 PUSH2 0x2DD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1CB SWAP2 SWAP1 PUSH2 0x287C JUMP JUMPDEST PUSH2 0x5A5 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0x287C JUMP JUMPDEST PUSH2 0x5CE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x207 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x222 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x21D SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH2 0x651 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x239 PUSH2 0xB11 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0x2DD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x264 PUSH2 0xB35 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x271 SWAP2 SWAP1 PUSH2 0x2DD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x286 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28F PUSH2 0xB5D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A6 PUSH2 0xBE5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B3 SWAP2 SWAP1 PUSH2 0x2E0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D1 PUSH2 0xC0B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DE SWAP2 SWAP1 PUSH2 0x2D2D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x309 SWAP2 SWAP1 PUSH2 0x287C JUMP JUMPDEST PUSH2 0xC34 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x31B SWAP2 SWAP1 PUSH2 0x2DBE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x330 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x339 PUSH2 0xC9F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x346 SWAP2 SWAP1 PUSH2 0x2DD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x376 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x371 SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH2 0xCA6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x392 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x38D SWAP2 SWAP1 PUSH2 0x290A JUMP JUMPDEST PUSH2 0x1271 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B6 SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH2 0x19BB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3CE SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2D48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EC PUSH2 0x1B0C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F9 SWAP2 SWAP1 PUSH2 0x30C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x429 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x424 SWAP2 SWAP1 PUSH2 0x287C JUMP JUMPDEST PUSH2 0x1B1D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x437 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x452 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x44D SWAP2 SWAP1 PUSH2 0x29AB JUMP JUMPDEST PUSH2 0x1B46 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45F SWAP2 SWAP1 PUSH2 0x2E2A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x474 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x48F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x48A SWAP2 SWAP1 PUSH2 0x28E1 JUMP JUMPDEST PUSH2 0x1B7D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x49C SWAP2 SWAP1 PUSH2 0x2D2D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4CC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4C7 SWAP2 SWAP1 PUSH2 0x28E1 JUMP JUMPDEST PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D9 SWAP2 SWAP1 PUSH2 0x2D2D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x509 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x504 SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH2 0x1BF8 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x57E JUMPI POP PUSH2 0x57D DUP3 PUSH2 0x1CF0 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5AE DUP3 PUSH2 0x585 JUMP JUMPDEST PUSH2 0x5BF DUP2 PUSH2 0x5BA PUSH2 0x1D5A JUMP JUMPDEST PUSH2 0x1D62 JUMP JUMPDEST PUSH2 0x5C9 DUP4 DUP4 PUSH2 0x1DFF JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x5D6 PUSH2 0x1D5A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x643 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x63A SWAP1 PUSH2 0x30A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x64D DUP3 DUP3 PUSH2 0x1EDF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 PUSH2 0x683 DUP2 PUSH2 0x67E PUSH2 0x1D5A JUMP JUMPDEST PUSH2 0x1D62 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x7FE JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x836 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x8A0 SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8CC SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x919 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x919 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x40 ADD MLOAD ISZERO ISZERO EQ PUSH2 0x96F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x966 SWAP1 PUSH2 0x3083 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 PUSH2 0xA77 SWAP2 SWAP1 PUSH2 0x25BB JUMP JUMPDEST POP POP PUSH1 0x5 PUSH1 0x0 DUP3 PUSH1 0x20 ADD MLOAD PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0xD06E11C55C5F21676305517C655A0188744D3BEE09361E15470276872D56A0B9 DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x60 ADD MLOAD DUP4 PUSH1 0x80 ADD MLOAD DUP5 PUSH1 0xA0 ADD MLOAD DUP6 PUSH1 0xC0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xB04 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xB65 PUSH2 0x1D5A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xB83 PUSH2 0xC0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBD9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD0 SWAP1 PUSH2 0x3063 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBE3 PUSH1 0x0 PUSH2 0x1FC1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SHL DUP2 JUMP JUMPDEST PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 PUSH2 0xCD8 DUP2 PUSH2 0xCD3 PUSH2 0x1D5A JUMP JUMPDEST PUSH2 0x1D62 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xE8B JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0xEF5 SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xF21 SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF6E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF43 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF6E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xF51 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x40 ADD MLOAD ISZERO ISZERO EQ PUSH2 0xFC4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFBB SWAP1 PUSH2 0x3083 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x40 ADD SWAP1 ISZERO ISZERO SWAP1 DUP2 ISZERO ISZERO DUP2 MSTORE POP POP DUP1 PUSH1 0x8 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1146 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x11AE SWAP3 SWAP2 SWAP1 PUSH2 0x25FB JUMP JUMPDEST POP SWAP1 POP POP PUSH2 0x11BC PUSH1 0x7 PUSH2 0x2085 JUMP JUMPDEST PUSH1 0x6 DUP2 PUSH1 0x20 ADD MLOAD SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x19C3744C2D10EDA4D05B727F02A712A414539C26678F5F988D98F9635AFCAC28 DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x60 ADD MLOAD DUP4 PUSH1 0x80 ADD MLOAD DUP5 PUSH1 0xA0 ADD MLOAD DUP6 PUSH1 0xC0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x1264 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC2FC6E3 DUP9 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12CE SWAP2 SWAP1 PUSH2 0x2E2A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12FA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x131E SWAP2 SWAP1 PUSH2 0x2801 JUMP JUMPDEST SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x138E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1385 SWAP1 PUSH2 0x2FA3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x5 PUSH1 0x0 DUP9 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1436 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x142D SWAP1 PUSH2 0x3023 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH1 0x5 PUSH1 0x0 DUP9 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x149A DUP6 DUP6 PUSH2 0x209B JUMP JUMPDEST SWAP1 POP PUSH1 0x1 ISZERO ISZERO DUP2 ISZERO ISZERO EQ PUSH2 0x14E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14DA SWAP1 PUSH2 0x3043 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x48DC1561 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x154B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x155F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1583 SWAP2 SWAP1 PUSH2 0x29D4 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP9 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1617 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP PUSH1 0x8 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x17AC JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1814 SWAP3 SWAP2 SWAP1 PUSH2 0x25FB JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH2 0x1862 SWAP1 PUSH2 0x2CDE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x189F JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x18A4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x18E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x18DF SWAP1 PUSH2 0x2FE3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD CALLVALUE EQ PUSH2 0x192C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1923 SWAP1 PUSH2 0x3003 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0xAE33DAC4EB1CDCAF489D2A9A56C45D17257612CAD7C531513D4E425951349E2 DUP9 DUP11 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x1965 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2EF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP8 PUSH1 0x7 SIGNEXTEND PUSH32 0xEFCAC77603CA996FAAFA29A1D72A90249E186F4A4AF6AD89434B18A66B6E9CD9 DUP11 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x19A8 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x8 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x1A89 SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1AB5 SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B02 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1AD7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B02 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1AE5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B18 PUSH1 0x7 PUSH2 0x22B3 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1B26 DUP3 PUSH2 0x585 JUMP JUMPDEST PUSH2 0x1B37 DUP2 PUSH2 0x1B32 PUSH2 0x1D5A JUMP JUMPDEST PUSH2 0x1D62 JUMP JUMPDEST PUSH2 0x1B41 DUP4 DUP4 PUSH2 0x1EDF JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1B56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x5 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C00 PUSH2 0x1D5A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1C1E PUSH2 0xC0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1C74 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C6B SWAP1 PUSH2 0x3063 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1CE4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1CDB SWAP1 PUSH2 0x2FC3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1CED DUP2 PUSH2 0x1FC1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1D6C DUP3 DUP3 PUSH2 0xC34 JUMP JUMPDEST PUSH2 0x1DFB JUMPI PUSH2 0x1D91 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x14 PUSH2 0x22C1 JUMP JUMPDEST PUSH2 0x1D9F DUP4 PUSH1 0x0 SHR PUSH1 0x20 PUSH2 0x22C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1DB0 SWAP3 SWAP2 SWAP1 PUSH2 0x2CF3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1DF2 SWAP2 SWAP1 PUSH2 0x2F61 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1E09 DUP3 DUP3 PUSH2 0xC34 JUMP JUMPDEST PUSH2 0x1EDB JUMPI PUSH1 0x1 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x1E80 PUSH2 0x1D5A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1EE9 DUP3 DUP3 PUSH2 0xC34 JUMP JUMPDEST ISZERO PUSH2 0x1FBD JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x1F62 PUSH2 0x1D5A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP1 DUP2 GT ISZERO PUSH2 0x20D6 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x210F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x21AC JUMPI DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x1FFC9A7 PUSH4 0x780E9D63 PUSH1 0xE0 SHL PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2155 SWAP2 SWAP1 PUSH2 0x2DF4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x216D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2181 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x21A5 SWAP2 SWAP1 PUSH2 0x282A JUMP JUMPDEST SWAP1 POP PUSH2 0x22AD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x21E6 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x221F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x22AC JUMPI PUSH1 0x12 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x313CE567 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x226D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2281 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x22A5 SWAP2 SWAP1 PUSH2 0x29FD JUMP JUMPDEST PUSH1 0xFF AND EQ SWAP1 POP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x2 PUSH2 0x22D4 SWAP2 SWAP1 PUSH2 0x31BC JUMP JUMPDEST PUSH2 0x22DE SWAP2 SWAP1 PUSH2 0x3166 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x231D JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x234F JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x23AD JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x2437 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 DUP5 PUSH1 0x2 PUSH2 0x2477 SWAP2 SWAP1 PUSH2 0x31BC JUMP JUMPDEST PUSH2 0x2481 SWAP2 SWAP1 PUSH2 0x3166 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x256D JUMPI PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xF DUP7 AND PUSH1 0x10 DUP2 LT PUSH2 0x24E9 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2526 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 DUP6 SWAP1 SHR SWAP5 POP DUP1 PUSH2 0x2566 SWAP1 PUSH2 0x334B JUMP JUMPDEST SWAP1 POP PUSH2 0x2484 JUMP JUMPDEST POP PUSH1 0x0 DUP5 EQ PUSH2 0x25B1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x25A8 SWAP1 PUSH2 0x2F83 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x25C7 SWAP1 PUSH2 0x3375 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x25D9 JUMPI POP PUSH2 0x25F8 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x25F7 SWAP2 SWAP1 PUSH2 0x2681 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2607 SWAP1 PUSH2 0x3375 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x2629 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2670 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x2642 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2670 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2670 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x266F JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2654 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x267D SWAP2 SWAP1 PUSH2 0x2681 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x269A JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2682 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26B1 PUSH2 0x26AC DUP5 PUSH2 0x3103 JUMP JUMPDEST PUSH2 0x30DE JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x26C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26D4 DUP5 DUP3 DUP6 PUSH2 0x3309 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x26EB DUP2 PUSH2 0x3740 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2700 DUP2 PUSH2 0x3740 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2715 DUP2 PUSH2 0x3757 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x272A DUP2 PUSH2 0x376E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x273F DUP2 PUSH2 0x3785 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2754 DUP2 PUSH2 0x379C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2769 DUP2 PUSH2 0x37AC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2780 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2790 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x269E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27A8 DUP2 PUSH2 0x37C3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x27BD DUP2 PUSH2 0x37C3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x27D2 DUP2 PUSH2 0x37DA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x27EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x27F8 DUP5 DUP3 DUP6 ADD PUSH2 0x26DC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2813 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2821 DUP5 DUP3 DUP6 ADD PUSH2 0x26F1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x283C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x284A DUP5 DUP3 DUP6 ADD PUSH2 0x2706 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2865 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2873 DUP5 DUP3 DUP6 ADD PUSH2 0x271B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x288F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x289D DUP6 DUP3 DUP7 ADD PUSH2 0x271B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x28AE DUP6 DUP3 DUP7 ADD PUSH2 0x26DC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x28D8 DUP5 DUP3 DUP6 ADD PUSH2 0x2730 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2901 DUP5 DUP3 DUP6 ADD PUSH2 0x275A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x2923 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2931 DUP10 DUP3 DUP11 ADD PUSH2 0x275A JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x2942 DUP10 DUP3 DUP11 ADD PUSH2 0x275A JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH2 0x2953 DUP10 DUP3 DUP11 ADD PUSH2 0x26DC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH2 0x2964 DUP10 DUP3 DUP11 ADD PUSH2 0x2745 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH2 0x2975 DUP10 DUP3 DUP11 ADD PUSH2 0x26DC JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2992 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x299E DUP10 DUP3 DUP11 ADD PUSH2 0x276F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x29CB DUP5 DUP3 DUP6 ADD PUSH2 0x2799 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x29F4 DUP5 DUP3 DUP6 ADD PUSH2 0x27AE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A1D DUP5 DUP3 DUP6 ADD PUSH2 0x27C3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2A2F DUP2 PUSH2 0x3216 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A3E DUP2 PUSH2 0x3228 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A4D DUP2 PUSH2 0x3234 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A5C DUP2 PUSH2 0x323E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A6B DUP2 PUSH2 0x32C1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A7A DUP2 PUSH2 0x32E5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A89 DUP2 PUSH2 0x32F7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A98 DUP2 PUSH2 0x327D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AA9 DUP3 PUSH2 0x3134 JUMP JUMPDEST PUSH2 0x2AB3 DUP2 DUP6 PUSH2 0x314A JUMP JUMPDEST SWAP4 POP PUSH2 0x2AC3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3318 JUMP JUMPDEST PUSH2 0x2ACC DUP2 PUSH2 0x3494 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AE2 DUP3 PUSH2 0x3134 JUMP JUMPDEST PUSH2 0x2AEC DUP2 DUP6 PUSH2 0x315B JUMP JUMPDEST SWAP4 POP PUSH2 0x2AFC DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3318 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B15 PUSH1 0x20 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2B20 DUP3 PUSH2 0x34A5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B38 PUSH1 0x1D DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2B43 DUP3 PUSH2 0x34CE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B5B PUSH1 0x26 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2B66 DUP3 PUSH2 0x34F7 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B7E PUSH1 0x16 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2B89 DUP3 PUSH2 0x3546 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BA1 PUSH1 0x18 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2BAC DUP3 PUSH2 0x356F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BC4 PUSH1 0x1C DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2BCF DUP3 PUSH2 0x3598 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BE7 PUSH1 0x2F DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2BF2 DUP3 PUSH2 0x35C1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C0A PUSH1 0x20 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2C15 DUP3 PUSH2 0x3610 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C2D PUSH1 0x0 DUP4 PUSH2 0x313F JUMP JUMPDEST SWAP2 POP PUSH2 0x2C38 DUP3 PUSH2 0x3639 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C50 PUSH1 0x17 DUP4 PUSH2 0x315B JUMP JUMPDEST SWAP2 POP PUSH2 0x2C5B DUP3 PUSH2 0x363C JUMP JUMPDEST PUSH1 0x17 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C73 PUSH1 0x32 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2C7E DUP3 PUSH2 0x3665 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C96 PUSH1 0x11 DUP4 PUSH2 0x315B JUMP JUMPDEST SWAP2 POP PUSH2 0x2CA1 DUP3 PUSH2 0x36B4 JUMP JUMPDEST PUSH1 0x11 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CB9 PUSH1 0x2F DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2CC4 DUP3 PUSH2 0x36DD JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2CD8 DUP2 PUSH2 0x32AA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CE9 DUP3 PUSH2 0x2C20 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CFE DUP3 PUSH2 0x2C43 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D0A DUP3 DUP6 PUSH2 0x2AD7 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D15 DUP3 PUSH2 0x2C89 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D21 DUP3 DUP5 PUSH2 0x2AD7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2D42 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A26 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP PUSH2 0x2D5D PUSH1 0x0 DUP4 ADD DUP11 PUSH2 0x2A26 JUMP JUMPDEST PUSH2 0x2D6A PUSH1 0x20 DUP4 ADD DUP10 PUSH2 0x2A8F JUMP JUMPDEST PUSH2 0x2D77 PUSH1 0x40 DUP4 ADD DUP9 PUSH2 0x2A35 JUMP JUMPDEST PUSH2 0x2D84 PUSH1 0x60 DUP4 ADD DUP8 PUSH2 0x2A26 JUMP JUMPDEST PUSH2 0x2D91 PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2A71 JUMP JUMPDEST PUSH2 0x2D9E PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x2A26 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH2 0x2DB0 DUP2 DUP5 PUSH2 0x2A9E JUMP JUMPDEST SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DD3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A35 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DEE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A44 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2E09 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A53 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2E24 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A62 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2E3F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A8F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2E5A PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2A80 JUMP JUMPDEST PUSH2 0x2E67 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2A26 JUMP JUMPDEST PUSH2 0x2E74 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2A71 JUMP JUMPDEST PUSH2 0x2E81 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2A26 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x2E93 DUP2 DUP5 PUSH2 0x2A9E JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2EB4 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2A8F JUMP JUMPDEST PUSH2 0x2EC1 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2A26 JUMP JUMPDEST PUSH2 0x2ECE PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2A71 JUMP JUMPDEST PUSH2 0x2EDB PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2A26 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x2EED DUP2 DUP5 PUSH2 0x2A9E JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x2F0E PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x2A8F JUMP JUMPDEST PUSH2 0x2F1B PUSH1 0x20 DUP4 ADD DUP9 PUSH2 0x2A8F JUMP JUMPDEST PUSH2 0x2F28 PUSH1 0x40 DUP4 ADD DUP8 PUSH2 0x2A26 JUMP JUMPDEST PUSH2 0x2F35 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2A71 JUMP JUMPDEST PUSH2 0x2F42 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x2A26 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xA0 DUP4 ADD MSTORE PUSH2 0x2F54 DUP2 DUP5 PUSH2 0x2A9E JUMP JUMPDEST SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F7B DUP2 DUP5 PUSH2 0x2A9E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F9C DUP2 PUSH2 0x2B08 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2FBC DUP2 PUSH2 0x2B2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2FDC DUP2 PUSH2 0x2B4E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2FFC DUP2 PUSH2 0x2B71 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x301C DUP2 PUSH2 0x2B94 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x303C DUP2 PUSH2 0x2BB7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x305C DUP2 PUSH2 0x2BDA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x307C DUP2 PUSH2 0x2BFD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x309C DUP2 PUSH2 0x2C66 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x30BC DUP2 PUSH2 0x2CAC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x30D8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2CCF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30E8 PUSH2 0x30F9 JUMP JUMPDEST SWAP1 POP PUSH2 0x30F4 DUP3 DUP3 PUSH2 0x33A7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x311E JUMPI PUSH2 0x311D PUSH2 0x3465 JUMP JUMPDEST JUMPDEST PUSH2 0x3127 DUP3 PUSH2 0x3494 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3171 DUP3 PUSH2 0x32AA JUMP JUMPDEST SWAP2 POP PUSH2 0x317C DUP4 PUSH2 0x32AA JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x31B1 JUMPI PUSH2 0x31B0 PUSH2 0x33D8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31C7 DUP3 PUSH2 0x32AA JUMP JUMPDEST SWAP2 POP PUSH2 0x31D2 DUP4 PUSH2 0x32AA JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x320B JUMPI PUSH2 0x320A PUSH2 0x33D8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3221 DUP3 PUSH2 0x328A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x3278 DUP3 PUSH2 0x372C JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x7 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32CC DUP3 PUSH2 0x32D3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32DE DUP3 PUSH2 0x328A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32F0 DUP3 PUSH2 0x326A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3302 DUP3 PUSH2 0x327D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3336 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x331B JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x3345 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3356 DUP3 PUSH2 0x32AA JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 EQ ISZERO PUSH2 0x336A JUMPI PUSH2 0x3369 PUSH2 0x33D8 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x338D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x33A1 JUMPI PUSH2 0x33A0 PUSH2 0x3436 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x33B0 DUP3 PUSH2 0x3494 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x33CF JUMPI PUSH2 0x33CE PUSH2 0x3465 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5573657220646964206E6F742072656769737472656420696E20544750000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E61626C6520746F207472616E736665722066656500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x50617373706F727420666565206973206E6F7420706169640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x746869732063686174207467696420616C72656164792074616B656E00000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436F6E747261637420646F6573206E6F74206D61746368207769746820636F72 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x726573706F6E64696E6720747970650000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x616C726561647920686173206265656E20617070726F766564204F5220646964 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E2774206170706C69656420617420616C6C0000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x206973206D697373696E6720726F6C6520000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x373D JUMPI PUSH2 0x373C PUSH2 0x3407 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0x3749 DUP2 PUSH2 0x3216 JUMP JUMPDEST DUP2 EQ PUSH2 0x3754 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3760 DUP2 PUSH2 0x3228 JUMP JUMPDEST DUP2 EQ PUSH2 0x376B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3777 DUP2 PUSH2 0x3234 JUMP JUMPDEST DUP2 EQ PUSH2 0x3782 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x378E DUP2 PUSH2 0x323E JUMP JUMPDEST DUP2 EQ PUSH2 0x3799 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x37A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x37B5 DUP2 PUSH2 0x327D JUMP JUMPDEST DUP2 EQ PUSH2 0x37C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x37CC DUP2 PUSH2 0x32AA JUMP JUMPDEST DUP2 EQ PUSH2 0x37D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x37E3 DUP2 PUSH2 0x32B4 JUMP JUMPDEST DUP2 EQ PUSH2 0x37EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ADDRESS 0xE1 0xBA SWAP6 0xA9 0xD2 0xBF 0xE3 LOG4 0xD5 0x5D 0x1E NOT CALLDATACOPY SWAP12 0xC5 0xE9 BALANCE OR PUSH22 0xD284DC084A397076AD7025464736F6C634300080400 CALLER ", + "sourceMap": "1177:6518:13:-:0;;;1323:7;:5;;;:7;;:::i;:::-;1298:32;;;;;;;;;;;;;;;;;;;;1359:42;1336:65;;;;;;;;;;;;;;;;;;;;2534:392;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;921:32:2;940:12;:10;;;:12;;:::i;:::-;921:18;;;:32;;:::i;:::-;2602:17:13;2582;;:37;;;;;;;;;;;;;;;;;;2653:17;2629:10;;:42;;;;;;;;;;;;;;;;;;2722:41;2072:4:0;2733:18:13;;2752:10;2722;;;:41;;:::i;:::-;2773:32;1519:22;2794:10;2773;;;:32;;:::i;:::-;2849:26;1519:22;2870:4;;;;;;;;;;;2849:10;;;:26;;:::i;:::-;2534:392;1177:6518;;1036:85:2;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;640:96:7:-;693:7;719:10;712:17;;640:96;:::o;2270:187:2:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2270:187;;:::o;6861:233:0:-;6944:22;6952:4;6958:7;6944;;;:22;;:::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;;;:12;;:::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;2909:145::-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;7:143:14:-;64:5;95:6;89:13;80:22;;111:33;138:5;111:33;:::i;:::-;70:80;;;;:::o;156:284::-;226:6;275:2;263:9;254:7;250:23;246:32;243:2;;;291:1;288;281:12;243:2;334:1;359:64;415:7;406:6;395:9;391:22;359:64;:::i;:::-;349:74;;305:128;233:207;;;;:::o;446:96::-;483:7;512:24;530:5;512:24;:::i;:::-;501:35;;491:51;;;:::o;548:126::-;585:7;625:42;618:5;614:54;603:65;;593:81;;;:::o;680:122::-;753:24;771:5;753:24;:::i;:::-;746:5;743:35;733:2;;792:1;789;782:12;733:2;723:79;:::o;1177:6518:13:-;;;;;;;" + }, + "deployedBytecode": { + "generatedSources": [ + { + "ast": { + "nodeType": "YulBlock", + "src": "0:33119:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "91:261:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "101:75:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "168:6:14" + } + ], + "functionName": { + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "126:41:14" + }, + "nodeType": "YulFunctionCall", + "src": "126:49:14" + } + ], + "functionName": { + "name": "allocate_memory", + "nodeType": "YulIdentifier", + "src": "110:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "110:66:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "101:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "192:5:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "199:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "185:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "185:21:14" + }, + "nodeType": "YulExpressionStatement", + "src": "185:21:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "215:27:14", + "value": { + "arguments": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "230:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "237:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "226:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "226:16:14" + }, + "variables": [ + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "219:3:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "280:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "289:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "292:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "282:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "282:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "282:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "261:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "266:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "257:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "257:16:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "275:3:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "254:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "254:25:14" + }, + "nodeType": "YulIf", + "src": "251:2:14" + }, + { + "expression": { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "329:3:14" + }, + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "334:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "339:6:14" + } + ], + "functionName": { + "name": "copy_calldata_to_memory", + "nodeType": "YulIdentifier", + "src": "305:23:14" + }, + "nodeType": "YulFunctionCall", + "src": "305:41:14" + }, + "nodeType": "YulExpressionStatement", + "src": "305:41:14" + } + ] + }, + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "64:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "69:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "77:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "85:5:14", + "type": "" + } + ], + "src": "7:345:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "410:87:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "420:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "442:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "429:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "429:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "420:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "485:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "458:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "458:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "458:33:14" + } + ] + }, + "name": "abi_decode_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "388:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "396:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "404:5:14", + "type": "" + } + ], + "src": "358:139:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "566:80:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "576:22:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "591:6:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "585:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "585:13:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "576:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "634:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_address", + "nodeType": "YulIdentifier", + "src": "607:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "607:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "607:33:14" + } + ] + }, + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "544:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "552:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "560:5:14", + "type": "" + } + ], + "src": "503:143:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "712:77:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "722:22:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "737:6:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "731:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "731:13:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "722:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "777:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_bool", + "nodeType": "YulIdentifier", + "src": "753:23:14" + }, + "nodeType": "YulFunctionCall", + "src": "753:30:14" + }, + "nodeType": "YulExpressionStatement", + "src": "753:30:14" + } + ] + }, + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "690:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "698:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "706:5:14", + "type": "" + } + ], + "src": "652:137:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "847:87:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "857:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "879:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "866:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "866:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "857:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "922:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_bytes32", + "nodeType": "YulIdentifier", + "src": "895:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "895:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "895:33:14" + } + ] + }, + "name": "abi_decode_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "825:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "833:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "841:5:14", + "type": "" + } + ], + "src": "795:139:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "991:86:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1001:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1023:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1010:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "1010:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1001:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1065:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_bytes4", + "nodeType": "YulIdentifier", + "src": "1039:25:14" + }, + "nodeType": "YulFunctionCall", + "src": "1039:32:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1039:32:14" + } + ] + }, + "name": "abi_decode_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "969:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "977:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "985:5:14", + "type": "" + } + ], + "src": "940:137:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1150:102:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1160:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1182:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1169:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "1169:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1160:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1240:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_enum$_VotingType_$1839", + "nodeType": "YulIdentifier", + "src": "1198:41:14" + }, + "nodeType": "YulFunctionCall", + "src": "1198:48:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1198:48:14" + } + ] + }, + "name": "abi_decode_t_enum$_VotingType_$1839", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1128:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1136:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1144:5:14", + "type": "" + } + ], + "src": "1083:169:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1308:85:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1318:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1340:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1327:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "1327:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1318:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1381:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_int64", + "nodeType": "YulIdentifier", + "src": "1356:24:14" + }, + "nodeType": "YulFunctionCall", + "src": "1356:31:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1356:31:14" + } + ] + }, + "name": "abi_decode_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1286:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1294:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1302:5:14", + "type": "" + } + ], + "src": "1258:135:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1475:211:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "1524:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1533:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1536:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "1526:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "1526:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1526:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1503:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1511:4:14", + "type": "", + "value": "0x1f" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1499:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1499:17:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1518:3:14" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "1495:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1495:27:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "1488:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "1488:35:14" + }, + "nodeType": "YulIf", + "src": "1485:2:14" + }, + { + "nodeType": "YulVariableDeclaration", + "src": "1549:34:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1576:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1563:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "1563:20:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "1553:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "1592:88:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1653:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "1661:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "1649:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "1649:17:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "1668:6:14" + }, + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "1676:3:14" + } + ], + "functionName": { + "name": "abi_decode_available_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "1601:47:14" + }, + "nodeType": "YulFunctionCall", + "src": "1601:79:14" + }, + "variableNames": [ + { + "name": "array", + "nodeType": "YulIdentifier", + "src": "1592:5:14" + } + ] + } + ] + }, + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1453:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1461:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "array", + "nodeType": "YulTypedName", + "src": "1469:5:14", + "type": "" + } + ], + "src": "1413:273:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1744:87:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1754:29:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1776:6:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "1763:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "1763:20:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1754:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1819:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1792:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "1792:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1792:33:14" + } + ] + }, + "name": "abi_decode_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1722:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1730:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1738:5:14", + "type": "" + } + ], + "src": "1692:139:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "1900:80:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "1910:22:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "1925:6:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "1919:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "1919:13:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1910:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "1968:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_uint256", + "nodeType": "YulIdentifier", + "src": "1941:26:14" + }, + "nodeType": "YulFunctionCall", + "src": "1941:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "1941:33:14" + } + ] + }, + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "1878:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "1886:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "1894:5:14", + "type": "" + } + ], + "src": "1837:143:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2047:78:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "2057:22:14", + "value": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2072:6:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "2066:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "2066:13:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2057:5:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "2113:5:14" + } + ], + "functionName": { + "name": "validator_revert_t_uint8", + "nodeType": "YulIdentifier", + "src": "2088:24:14" + }, + "nodeType": "YulFunctionCall", + "src": "2088:31:14" + }, + "nodeType": "YulExpressionStatement", + "src": "2088:31:14" + } + ] + }, + "name": "abi_decode_t_uint8_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2025:6:14", + "type": "" + }, + { + "name": "end", + "nodeType": "YulTypedName", + "src": "2033:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "2041:5:14", + "type": "" + } + ], + "src": "1986:139:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2197:196:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2243:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2252:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2255:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2245:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "2245:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "2245:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2218:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2227:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2214:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2214:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2239:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2210:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2210:32:14" + }, + "nodeType": "YulIf", + "src": "2207:2:14" + }, + { + "nodeType": "YulBlock", + "src": "2269:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2284:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2298:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2288:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2313:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2348:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2359:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2344:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2344:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2368:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "2323:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "2323:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2313:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2167:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2178:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2190:6:14", + "type": "" + } + ], + "src": "2131:262:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2476:207:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2522:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2531:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2534:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2524:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "2524:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "2524:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2497:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2506:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2493:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2493:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2518:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2489:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2489:32:14" + }, + "nodeType": "YulIf", + "src": "2486:2:14" + }, + { + "nodeType": "YulBlock", + "src": "2548:128:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2563:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2577:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2567:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2592:74:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2638:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2649:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2634:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2634:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2658:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address_fromMemory", + "nodeType": "YulIdentifier", + "src": "2602:31:14" + }, + "nodeType": "YulFunctionCall", + "src": "2602:64:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2592:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_address_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2446:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2457:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2469:6:14", + "type": "" + } + ], + "src": "2399:284:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "2763:204:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "2809:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2818:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2821:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "2811:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "2811:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "2811:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2784:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2793:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "2780:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2780:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2805:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "2776:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2776:32:14" + }, + "nodeType": "YulIf", + "src": "2773:2:14" + }, + { + "nodeType": "YulBlock", + "src": "2835:125:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "2850:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "2864:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "2854:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "2879:71:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "2922:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "2933:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "2918:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "2918:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "2942:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bool_fromMemory", + "nodeType": "YulIdentifier", + "src": "2889:28:14" + }, + "nodeType": "YulFunctionCall", + "src": "2889:61:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "2879:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bool_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "2733:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "2744:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "2756:6:14", + "type": "" + } + ], + "src": "2689:278:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3039:196:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3085:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3094:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3097:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3087:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "3087:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3087:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3060:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3069:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3056:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3056:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3081:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3052:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3052:32:14" + }, + "nodeType": "YulIf", + "src": "3049:2:14" + }, + { + "nodeType": "YulBlock", + "src": "3111:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3126:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3140:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3130:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3155:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3190:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3201:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3186:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3186:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3210:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "3165:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "3165:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3155:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3009:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3020:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3032:6:14", + "type": "" + } + ], + "src": "2973:262:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3324:324:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3370:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3379:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3382:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3372:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "3372:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3372:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3345:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3354:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3341:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3341:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3366:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3337:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3337:32:14" + }, + "nodeType": "YulIf", + "src": "3334:2:14" + }, + { + "nodeType": "YulBlock", + "src": "3396:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3411:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3425:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3415:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3440:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3475:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3486:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3471:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3471:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3495:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bytes32", + "nodeType": "YulIdentifier", + "src": "3450:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "3450:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3440:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "3523:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3538:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3552:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3542:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3568:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3603:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3614:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3599:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3599:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3623:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "3578:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "3578:53:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "3568:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes32t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3286:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3297:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3309:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "3317:6:14", + "type": "" + } + ], + "src": "3241:407:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3719:195:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "3765:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3774:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3777:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "3767:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "3767:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "3767:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3740:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3749:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "3736:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3736:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3761:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3732:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3732:32:14" + }, + "nodeType": "YulIf", + "src": "3729:2:14" + }, + { + "nodeType": "YulBlock", + "src": "3791:116:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "3806:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "3820:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "3810:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "3835:62:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "3869:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "3880:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "3865:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3865:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "3889:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_bytes4", + "nodeType": "YulIdentifier", + "src": "3845:19:14" + }, + "nodeType": "YulFunctionCall", + "src": "3845:52:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "3835:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3689:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3700:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3712:6:14", + "type": "" + } + ], + "src": "3654:260:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "3984:194:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4030:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4039:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4042:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4032:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "4032:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4032:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4005:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4014:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4001:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4001:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4026:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "3997:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "3997:32:14" + }, + "nodeType": "YulIf", + "src": "3994:2:14" + }, + { + "nodeType": "YulBlock", + "src": "4056:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4071:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4085:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4075:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4100:61:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4133:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4144:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4129:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4129:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4153:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "4110:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "4110:51:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4100:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "3954:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "3965:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "3977:6:14", + "type": "" + } + ], + "src": "3920:258:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "4356:953:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "4403:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4412:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4415:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "4405:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "4405:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "4405:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4377:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4386:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "4373:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4373:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4398:3:14", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "4369:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4369:33:14" + }, + "nodeType": "YulIf", + "src": "4366:2:14" + }, + { + "nodeType": "YulBlock", + "src": "4429:115:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4444:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4458:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4448:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4473:61:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4506:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4517:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4502:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4502:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4526:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "4483:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "4483:51:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "4473:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4554:116:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4569:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4583:2:14", + "type": "", + "value": "32" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4573:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4599:61:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4632:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4643:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4628:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4628:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4652:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_int64", + "nodeType": "YulIdentifier", + "src": "4609:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "4609:51:14" + }, + "variableNames": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "4599:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4680:118:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4695:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4709:2:14", + "type": "", + "value": "64" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4699:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4725:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4760:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4771:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4756:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4756:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4780:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "4735:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "4735:53:14" + }, + "variableNames": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "4725:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4808:133:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4823:16:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4837:2:14", + "type": "", + "value": "96" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4827:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4853:78:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "4903:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "4914:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "4899:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "4899:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "4923:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_enum$_VotingType_$1839", + "nodeType": "YulIdentifier", + "src": "4863:35:14" + }, + "nodeType": "YulFunctionCall", + "src": "4863:68:14" + }, + "variableNames": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "4853:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "4951:119:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "4966:17:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "4980:3:14", + "type": "", + "value": "128" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "4970:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "4997:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5032:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5043:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5028:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5028:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5052:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_address", + "nodeType": "YulIdentifier", + "src": "5007:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "5007:53:14" + }, + "variableNames": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "4997:6:14" + } + ] + } + ] + }, + { + "nodeType": "YulBlock", + "src": "5080:222:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5095:47:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5126:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5137:3:14", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5122:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5122:19:14" + } + ], + "functionName": { + "name": "calldataload", + "nodeType": "YulIdentifier", + "src": "5109:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "5109:33:14" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5099:6:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5189:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5198:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5201:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5191:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "5191:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "5191:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5161:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5169:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "5158:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "5158:30:14" + }, + "nodeType": "YulIf", + "src": "5155:2:14" + }, + { + "nodeType": "YulAssignment", + "src": "5219:73:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5264:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5275:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5260:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5260:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5284:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "5229:30:14" + }, + "nodeType": "YulFunctionCall", + "src": "5229:63:14" + }, + "variableNames": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "5219:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_int64t_int64t_addresst_enum$_VotingType_$1839t_addresst_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "4286:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "4297:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "4309:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "4317:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "4325:6:14", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "4333:6:14", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "4341:6:14", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "4349:6:14", + "type": "" + } + ], + "src": "4184:1125:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5381:196:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5427:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5436:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5439:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5429:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "5429:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "5429:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5402:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5411:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5398:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5398:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5423:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5394:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5394:32:14" + }, + "nodeType": "YulIf", + "src": "5391:2:14" + }, + { + "nodeType": "YulBlock", + "src": "5453:117:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5468:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5482:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5472:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5497:63:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5532:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5543:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5528:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5528:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5552:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256", + "nodeType": "YulIdentifier", + "src": "5507:20:14" + }, + "nodeType": "YulFunctionCall", + "src": "5507:53:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5497:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5351:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5362:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5374:6:14", + "type": "" + } + ], + "src": "5315:262:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5660:207:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5706:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5715:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5718:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5708:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "5708:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "5708:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5681:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5690:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5677:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5677:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5702:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5673:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5673:32:14" + }, + "nodeType": "YulIf", + "src": "5670:2:14" + }, + { + "nodeType": "YulBlock", + "src": "5732:128:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "5747:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5761:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "5751:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "5776:74:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5822:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "5833:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "5818:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5818:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5842:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint256_fromMemory", + "nodeType": "YulIdentifier", + "src": "5786:31:14" + }, + "nodeType": "YulFunctionCall", + "src": "5786:64:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "5776:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint256_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5630:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5641:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5653:6:14", + "type": "" + } + ], + "src": "5583:284:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "5948:205:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "5994:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6003:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6006:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "5996:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "5996:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "5996:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "5969:7:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "5978:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "5965:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5965:23:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "5990:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "slt", + "nodeType": "YulIdentifier", + "src": "5961:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "5961:32:14" + }, + "nodeType": "YulIf", + "src": "5958:2:14" + }, + { + "nodeType": "YulBlock", + "src": "6020:126:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "6035:15:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "6049:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "offset", + "nodeType": "YulTypedName", + "src": "6039:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "6064:72:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "6108:9:14" + }, + { + "name": "offset", + "nodeType": "YulIdentifier", + "src": "6119:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "6104:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "6104:22:14" + }, + { + "name": "dataEnd", + "nodeType": "YulIdentifier", + "src": "6128:7:14" + } + ], + "functionName": { + "name": "abi_decode_t_uint8_fromMemory", + "nodeType": "YulIdentifier", + "src": "6074:29:14" + }, + "nodeType": "YulFunctionCall", + "src": "6074:62:14" + }, + "variableNames": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "6064:6:14" + } + ] + } + ] + } + ] + }, + "name": "abi_decode_tuple_t_uint8_fromMemory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "5918:9:14", + "type": "" + }, + { + "name": "dataEnd", + "nodeType": "YulTypedName", + "src": "5929:7:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "5941:6:14", + "type": "" + } + ], + "src": "5873:280:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6224:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6241:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6264:5:14" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "6246:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "6246:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6234:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "6234:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6234:37:14" + } + ] + }, + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6212:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6219:3:14", + "type": "" + } + ], + "src": "6159:118:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6342:50:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6359:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6379:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "6364:14:14" + }, + "nodeType": "YulFunctionCall", + "src": "6364:21:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6352:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "6352:34:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6352:34:14" + } + ] + }, + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6330:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6337:3:14", + "type": "" + } + ], + "src": "6283:109:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6463:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6480:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6503:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "6485:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "6485:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6473:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "6473:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6473:37:14" + } + ] + }, + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6451:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6458:3:14", + "type": "" + } + ], + "src": "6398:118:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6585:52:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6602:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6624:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "6607:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "6607:23:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6595:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "6595:36:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6595:36:14" + } + ] + }, + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6573:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6580:3:14", + "type": "" + } + ], + "src": "6522:115:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6727:85:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6744:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6799:5:14" + } + ], + "functionName": { + "name": "convert_t_contract$_TGPassport_$1745_to_t_address", + "nodeType": "YulIdentifier", + "src": "6749:49:14" + }, + "nodeType": "YulFunctionCall", + "src": "6749:56:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6737:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "6737:69:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6737:69:14" + } + ] + }, + "name": "abi_encode_t_contract$_TGPassport_$1745_to_t_address_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6715:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6722:3:14", + "type": "" + } + ], + "src": "6643:169:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "6896:79:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "6913:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "6962:5:14" + } + ], + "functionName": { + "name": "convert_t_enum$_VotingType_$1839_to_t_uint8", + "nodeType": "YulIdentifier", + "src": "6918:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "6918:50:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "6906:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "6906:63:14" + }, + "nodeType": "YulExpressionStatement", + "src": "6906:63:14" + } + ] + }, + "name": "abi_encode_t_enum$_VotingType_$1839_to_t_uint8_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "6884:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "6891:3:14", + "type": "" + } + ], + "src": "6818:157:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7043:63:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7060:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7093:5:14" + } + ], + "functionName": { + "name": "convert_t_int64_to_t_int256", + "nodeType": "YulIdentifier", + "src": "7065:27:14" + }, + "nodeType": "YulFunctionCall", + "src": "7065:34:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7053:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "7053:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7053:47:14" + } + ] + }, + "name": "abi_encode_t_int64_to_t_int256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7031:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7038:3:14", + "type": "" + } + ], + "src": "6981:125:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7173:51:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7190:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7211:5:14" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "7195:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "7195:22:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "7183:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "7183:35:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7183:35:14" + } + ] + }, + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7161:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7168:3:14", + "type": "" + } + ], + "src": "7112:112:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7322:272:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7332:53:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7379:5:14" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7346:32:14" + }, + "nodeType": "YulFunctionCall", + "src": "7346:39:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7336:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7394:78:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7460:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7465:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "7401:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "7401:71:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7394:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7507:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7514:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7503:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7503:16:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7521:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7526:6:14" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "7481:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "7481:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7481:52:14" + }, + { + "nodeType": "YulAssignment", + "src": "7542:46:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7553:3:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7580:6:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "7558:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "7558:29:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7549:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7549:39:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7542:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7303:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7310:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7318:3:14", + "type": "" + } + ], + "src": "7230:364:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "7710:267:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "7720:53:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7767:5:14" + } + ], + "functionName": { + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulIdentifier", + "src": "7734:32:14" + }, + "nodeType": "YulFunctionCall", + "src": "7734:39:14" + }, + "variables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "7724:6:14", + "type": "" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "7782:96:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7866:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7871:6:14" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "7789:76:14" + }, + "nodeType": "YulFunctionCall", + "src": "7789:89:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7782:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "7913:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "7920:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7909:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7909:16:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7927:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7932:6:14" + } + ], + "functionName": { + "name": "copy_memory_to_memory", + "nodeType": "YulIdentifier", + "src": "7887:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "7887:52:14" + }, + "nodeType": "YulExpressionStatement", + "src": "7887:52:14" + }, + { + "nodeType": "YulAssignment", + "src": "7948:23:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "7959:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "7964:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "7955:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "7955:16:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "7948:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "7691:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "7698:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "7706:3:14", + "type": "" + } + ], + "src": "7600:377:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8129:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8139:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8205:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8210:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8146:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "8146:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8139:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8311:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulIdentifier", + "src": "8222:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "8222:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8222:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "8324:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8335:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8340:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8331:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8331:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8324:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8117:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8125:3:14", + "type": "" + } + ], + "src": "7983:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8501:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8511:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8577:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8582:2:14", + "type": "", + "value": "29" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8518:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "8518:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8511:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8683:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9", + "nodeType": "YulIdentifier", + "src": "8594:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "8594:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8594:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "8696:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8707:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8712:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "8703:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "8703:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "8696:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8489:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8497:3:14", + "type": "" + } + ], + "src": "8355:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "8873:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "8883:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8949:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "8954:2:14", + "type": "", + "value": "38" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "8890:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "8890:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "8883:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9055:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulIdentifier", + "src": "8966:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "8966:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "8966:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "9068:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9079:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9084:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9075:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9075:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9068:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "8861:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "8869:3:14", + "type": "" + } + ], + "src": "8727:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9245:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9255:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9321:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9326:2:14", + "type": "", + "value": "22" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9262:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "9262:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9255:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9427:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "nodeType": "YulIdentifier", + "src": "9338:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "9338:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "9338:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "9440:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9451:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9456:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9447:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9447:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9440:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9233:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9241:3:14", + "type": "" + } + ], + "src": "9099:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9617:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9627:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9693:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9698:2:14", + "type": "", + "value": "24" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "9634:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "9634:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9627:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9799:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "nodeType": "YulIdentifier", + "src": "9710:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "9710:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "9710:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "9812:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9823:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "9828:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "9819:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "9819:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "9812:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9605:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9613:3:14", + "type": "" + } + ], + "src": "9471:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "9989:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "9999:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10065:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10070:2:14", + "type": "", + "value": "28" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10006:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "10006:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "9999:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10171:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c", + "nodeType": "YulIdentifier", + "src": "10082:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "10082:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10082:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "10184:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10195:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10200:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10191:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10191:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10184:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "9977:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "9985:3:14", + "type": "" + } + ], + "src": "9843:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10361:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10371:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10437:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10442:2:14", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10378:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "10378:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10371:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10543:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24", + "nodeType": "YulIdentifier", + "src": "10454:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "10454:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10454:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "10556:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10567:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10572:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10563:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10563:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10556:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10349:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10357:3:14", + "type": "" + } + ], + "src": "10215:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "10733:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "10743:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10809:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10814:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "10750:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "10750:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10743:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10915:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulIdentifier", + "src": "10826:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "10826:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "10826:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "10928:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "10939:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "10944:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "10935:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "10935:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "10928:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "10721:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "10729:3:14", + "type": "" + } + ], + "src": "10587:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11122:235:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11132:90:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11215:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11220:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "11139:75:14" + }, + "nodeType": "YulFunctionCall", + "src": "11139:83:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11132:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11320:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nodeType": "YulIdentifier", + "src": "11231:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "11231:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11231:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "11333:18:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11344:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11349:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11340:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11340:11:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11333:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11110:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11118:3:14", + "type": "" + } + ], + "src": "10959:398:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11527:238:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11537:92:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11621:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11626:2:14", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "11544:76:14" + }, + "nodeType": "YulFunctionCall", + "src": "11544:85:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11537:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11727:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulIdentifier", + "src": "11638:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "11638:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "11638:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "11740:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11751:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11756:2:14", + "type": "", + "value": "23" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "11747:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "11747:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "11740:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11515:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11523:3:14", + "type": "" + } + ], + "src": "11363:402:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "11917:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "11927:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11993:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "11998:2:14", + "type": "", + "value": "50" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "11934:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "11934:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "11927:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12099:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "nodeType": "YulIdentifier", + "src": "12010:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "12010:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12010:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "12112:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12123:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12128:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12119:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12119:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12112:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "11905:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "11913:3:14", + "type": "" + } + ], + "src": "11771:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12307:238:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12317:92:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12401:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12406:2:14", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "12324:76:14" + }, + "nodeType": "YulFunctionCall", + "src": "12324:85:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12317:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12507:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulIdentifier", + "src": "12418:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "12418:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12418:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "12520:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12531:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12536:2:14", + "type": "", + "value": "17" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12527:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12527:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12520:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12295:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12303:3:14", + "type": "" + } + ], + "src": "12143:402:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12697:220:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "12707:74:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12773:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12778:2:14", + "type": "", + "value": "47" + } + ], + "functionName": { + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "12714:58:14" + }, + "nodeType": "YulFunctionCall", + "src": "12714:67:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12707:3:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12879:3:14" + } + ], + "functionName": { + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulIdentifier", + "src": "12790:88:14" + }, + "nodeType": "YulFunctionCall", + "src": "12790:93:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12790:93:14" + }, + { + "nodeType": "YulAssignment", + "src": "12892:19:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "12903:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "12908:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "12899:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "12899:12:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "12892:3:14" + } + ] + } + ] + }, + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12685:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "12693:3:14", + "type": "" + } + ], + "src": "12551:366:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "12988:53:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13005:3:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "13028:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "13010:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "13010:24:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "12998:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "12998:37:14" + }, + "nodeType": "YulExpressionStatement", + "src": "12998:37:14" + } + ] + }, + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "12976:5:14", + "type": "" + }, + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "12983:3:14", + "type": "" + } + ], + "src": "12923:118:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13235:191:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13246:154:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13396:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "13253:141:14" + }, + "nodeType": "YulFunctionCall", + "src": "13253:147:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13246:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13410:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13417:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "13410:3:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13222:3:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13231:3:14", + "type": "" + } + ], + "src": "13047:379:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "13818:581:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "13829:155:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13980:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "13836:142:14" + }, + "nodeType": "YulFunctionCall", + "src": "13836:148:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13829:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "13994:102:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14083:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14092:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "14001:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "14001:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "13994:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14106:155:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14257:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "14113:142:14" + }, + "nodeType": "YulFunctionCall", + "src": "14113:148:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14106:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14271:102:14", + "value": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "14360:6:14" + }, + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14369:3:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulIdentifier", + "src": "14278:81:14" + }, + "nodeType": "YulFunctionCall", + "src": "14278:95:14" + }, + "variableNames": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14271:3:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "14383:10:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "14390:3:14" + }, + "variableNames": [ + { + "name": "end", + "nodeType": "YulIdentifier", + "src": "14383:3:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "13789:3:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "13795:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "13803:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "end", + "nodeType": "YulTypedName", + "src": "13814:3:14", + "type": "" + } + ], + "src": "13432:967:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14503:124:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14513:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14525:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14536:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14521:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14521:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14513:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "14593:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14606:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14617:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14602:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14602:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "14549:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "14549:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14549:71:14" + } + ] + }, + "name": "abi_encode_tuple_t_address__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14475:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14487:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14498:4:14", + "type": "" + } + ], + "src": "14405:222:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "14922:694:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "14932:27:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "14944:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "14955:3:14", + "type": "", + "value": "224" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "14940:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "14940:19:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "14932:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15013:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15026:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15037:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15022:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15022:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "14969:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "14969:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "14969:71:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "15090:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15103:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15114:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15099:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15099:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "15050:39:14" + }, + "nodeType": "YulFunctionCall", + "src": "15050:68:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15050:68:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "15166:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15179:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15190:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15175:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15175:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "15128:37:14" + }, + "nodeType": "YulFunctionCall", + "src": "15128:66:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15128:66:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "15248:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15261:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15272:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15257:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15257:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "15204:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "15204:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15204:72:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "15343:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15356:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15367:3:14", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15352:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15352:19:14" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_VotingType_$1839_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "15286:56:14" + }, + "nodeType": "YulFunctionCall", + "src": "15286:86:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15286:86:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "15426:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15439:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15450:3:14", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15435:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15435:19:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "15382:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "15382:73:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15382:73:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15476:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15487:3:14", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15472:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15472:19:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15497:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15503:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "15493:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15493:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "15465:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "15465:49:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15465:49:14" + }, + { + "nodeType": "YulAssignment", + "src": "15523:86:14", + "value": { + "arguments": [ + { + "name": "value6", + "nodeType": "YulIdentifier", + "src": "15595:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15604:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "15531:63:14" + }, + "nodeType": "YulFunctionCall", + "src": "15531:78:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15523:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_address_t_int64_t_bool_t_address_t_enum$_VotingType_$1839_t_address_t_string_memory_ptr__to_t_address_t_int64_t_bool_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "14846:9:14", + "type": "" + }, + { + "name": "value6", + "nodeType": "YulTypedName", + "src": "14858:6:14", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "14866:6:14", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "14874:6:14", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "14882:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "14890:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "14898:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "14906:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "14917:4:14", + "type": "" + } + ], + "src": "14633:983:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15714:118:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15724:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15736:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15747:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15732:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15732:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15724:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "15798:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15811:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15822:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15807:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15807:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_bool_to_t_bool_fromStack", + "nodeType": "YulIdentifier", + "src": "15760:37:14" + }, + "nodeType": "YulFunctionCall", + "src": "15760:65:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15760:65:14" + } + ] + }, + "name": "abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15686:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15698:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15709:4:14", + "type": "" + } + ], + "src": "15622:210:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "15936:124:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "15946:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "15958:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "15969:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "15954:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "15954:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "15946:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16026:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16039:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16050:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16035:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16035:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_bytes32_to_t_bytes32_fromStack", + "nodeType": "YulIdentifier", + "src": "15982:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "15982:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "15982:71:14" + } + ] + }, + "name": "abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "15908:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "15920:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "15931:4:14", + "type": "" + } + ], + "src": "15838:222:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16162:122:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16172:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16184:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16195:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16180:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16180:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16172:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16250:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16263:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16274:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16259:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16259:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_bytes4_to_t_bytes4_fromStack", + "nodeType": "YulIdentifier", + "src": "16208:41:14" + }, + "nodeType": "YulFunctionCall", + "src": "16208:69:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16208:69:14" + } + ] + }, + "name": "abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16134:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16146:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16157:4:14", + "type": "" + } + ], + "src": "16066:218:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16407:143:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16417:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16429:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16440:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16425:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16425:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16417:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16516:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16529:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16540:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16525:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16525:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_contract$_TGPassport_$1745_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "16453:62:14" + }, + "nodeType": "YulFunctionCall", + "src": "16453:90:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16453:90:14" + } + ] + }, + "name": "abi_encode_tuple_t_contract$_TGPassport_$1745__to_t_address__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16379:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16391:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16402:4:14", + "type": "" + } + ], + "src": "16290:260:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "16650:120:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "16660:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16672:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16683:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16668:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16668:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "16660:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "16736:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "16749:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "16760:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "16745:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "16745:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "16696:39:14" + }, + "nodeType": "YulFunctionCall", + "src": "16696:67:14" + }, + "nodeType": "YulExpressionStatement", + "src": "16696:67:14" + } + ] + }, + "name": "abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16622:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "16634:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "16645:4:14", + "type": "" + } + ], + "src": "16556:214:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17016:535:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17026:27:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17038:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17049:3:14", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17034:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17034:19:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17026:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17104:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17117:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17128:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17113:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17113:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int256_fromStack", + "nodeType": "YulIdentifier", + "src": "17063:40:14" + }, + "nodeType": "YulFunctionCall", + "src": "17063:68:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17063:68:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "17185:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17198:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17209:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17194:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17194:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "17141:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "17141:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17141:72:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "17280:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17293:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17304:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17289:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17289:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_VotingType_$1839_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "17223:56:14" + }, + "nodeType": "YulFunctionCall", + "src": "17223:85:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17223:85:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "17362:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17375:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17386:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17371:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17371:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "17318:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "17318:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17318:72:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17411:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17422:3:14", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17407:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17407:19:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17432:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17438:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "17428:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17428:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "17400:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "17400:49:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17400:49:14" + }, + { + "nodeType": "YulAssignment", + "src": "17458:86:14", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "17530:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17539:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "17466:63:14" + }, + "nodeType": "YulFunctionCall", + "src": "17466:78:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17458:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_address_t_enum$_VotingType_$1839_t_address_t_string_memory_ptr__to_t_int256_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "16956:9:14", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "16968:6:14", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "16976:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "16984:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "16992:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17000:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17011:4:14", + "type": "" + } + ], + "src": "16776:775:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "17796:534:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "17806:27:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17818:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17829:3:14", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17814:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17814:19:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "17806:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "17883:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17896:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17907:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17892:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17892:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "17843:39:14" + }, + "nodeType": "YulFunctionCall", + "src": "17843:67:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17843:67:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "17964:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "17977:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "17988:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "17973:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "17973:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "17920:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "17920:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "17920:72:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18059:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18072:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18083:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18068:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18068:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_VotingType_$1839_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "18002:56:14" + }, + "nodeType": "YulFunctionCall", + "src": "18002:85:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18002:85:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18141:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18154:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18165:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18150:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18150:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "18097:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "18097:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18097:72:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18190:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18201:3:14", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18186:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18186:19:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18211:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18217:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "18207:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18207:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "18179:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "18179:49:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18179:49:14" + }, + { + "nodeType": "YulAssignment", + "src": "18237:86:14", + "value": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "18309:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18318:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "18245:63:14" + }, + "nodeType": "YulFunctionCall", + "src": "18245:78:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18237:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_address_t_enum$_VotingType_$1839_t_address_t_string_memory_ptr__to_t_int64_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "17736:9:14", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "17748:6:14", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "17756:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "17764:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "17772:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "17780:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "17791:4:14", + "type": "" + } + ], + "src": "17557:773:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "18599:613:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "18609:27:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18621:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18632:3:14", + "type": "", + "value": "192" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18617:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18617:19:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "18609:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "18686:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18699:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18710:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18695:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18695:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "18646:39:14" + }, + "nodeType": "YulFunctionCall", + "src": "18646:67:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18646:67:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value1", + "nodeType": "YulIdentifier", + "src": "18763:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18776:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18787:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18772:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18772:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_int64_to_t_int64_fromStack", + "nodeType": "YulIdentifier", + "src": "18723:39:14" + }, + "nodeType": "YulFunctionCall", + "src": "18723:68:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18723:68:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value2", + "nodeType": "YulIdentifier", + "src": "18845:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18858:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18869:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18854:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18854:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "18801:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "18801:72:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18801:72:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value3", + "nodeType": "YulIdentifier", + "src": "18940:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "18953:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "18964:2:14", + "type": "", + "value": "96" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "18949:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "18949:18:14" + } + ], + "functionName": { + "name": "abi_encode_t_enum$_VotingType_$1839_to_t_uint8_fromStack", + "nodeType": "YulIdentifier", + "src": "18883:56:14" + }, + "nodeType": "YulFunctionCall", + "src": "18883:85:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18883:85:14" + }, + { + "expression": { + "arguments": [ + { + "name": "value4", + "nodeType": "YulIdentifier", + "src": "19022:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19035:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19046:3:14", + "type": "", + "value": "128" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19031:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19031:19:14" + } + ], + "functionName": { + "name": "abi_encode_t_address_to_t_address_fromStack", + "nodeType": "YulIdentifier", + "src": "18978:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "18978:73:14" + }, + "nodeType": "YulExpressionStatement", + "src": "18978:73:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19072:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19083:3:14", + "type": "", + "value": "160" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19068:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19068:19:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19093:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19099:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19089:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19089:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19061:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "19061:49:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19061:49:14" + }, + { + "nodeType": "YulAssignment", + "src": "19119:86:14", + "value": { + "arguments": [ + { + "name": "value5", + "nodeType": "YulIdentifier", + "src": "19191:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19200:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19127:63:14" + }, + "nodeType": "YulFunctionCall", + "src": "19127:78:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19119:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_int64_t_int64_t_address_t_enum$_VotingType_$1839_t_address_t_string_memory_ptr__to_t_int64_t_int64_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "18531:9:14", + "type": "" + }, + { + "name": "value5", + "nodeType": "YulTypedName", + "src": "18543:6:14", + "type": "" + }, + { + "name": "value4", + "nodeType": "YulTypedName", + "src": "18551:6:14", + "type": "" + }, + { + "name": "value3", + "nodeType": "YulTypedName", + "src": "18559:6:14", + "type": "" + }, + { + "name": "value2", + "nodeType": "YulTypedName", + "src": "18567:6:14", + "type": "" + }, + { + "name": "value1", + "nodeType": "YulTypedName", + "src": "18575:6:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "18583:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "18594:4:14", + "type": "" + } + ], + "src": "18336:876:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19336:195:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19346:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19358:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19369:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19354:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19354:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19346:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19393:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19404:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19389:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19389:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19412:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19418:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19408:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19408:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19382:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "19382:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19382:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "19438:86:14", + "value": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "19510:6:14" + }, + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19519:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19446:63:14" + }, + "nodeType": "YulFunctionCall", + "src": "19446:78:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19438:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19308:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "19320:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19331:4:14", + "type": "" + } + ], + "src": "19218:313:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "19708:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "19718:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19730:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19741:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19726:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19726:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19718:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19765:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "19776:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "19761:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19761:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19784:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "19790:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "19780:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "19780:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "19754:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "19754:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "19754:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "19810:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19944:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "19818:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "19818:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "19810:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "19688:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "19703:4:14", + "type": "" + } + ], + "src": "19537:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20133:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20143:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20155:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20166:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20151:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20151:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20143:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20190:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20201:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20186:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20186:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20209:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20215:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20205:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20205:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20179:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "20179:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "20179:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "20235:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20369:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20243:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "20243:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20235:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20113:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20128:4:14", + "type": "" + } + ], + "src": "19962:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20558:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20568:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20580:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20591:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20576:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20576:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20568:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20615:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "20626:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "20611:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20611:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20634:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "20640:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "20630:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "20630:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "20604:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "20604:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "20604:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "20660:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20794:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "20668:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "20668:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20660:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20538:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20553:4:14", + "type": "" + } + ], + "src": "20387:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "20983:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "20993:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21005:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21016:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21001:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21001:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "20993:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21040:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21051:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21036:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21036:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21059:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21065:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21055:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21055:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21029:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21029:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21029:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "21085:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21219:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21093:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "21093:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21085:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "20963:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "20978:4:14", + "type": "" + } + ], + "src": "20812:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21408:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21418:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21430:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21441:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21426:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21426:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21418:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21465:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21476:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21461:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21461:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21484:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21490:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21480:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21480:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21454:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21454:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21454:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "21510:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21644:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21518:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "21518:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21510:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21388:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21403:4:14", + "type": "" + } + ], + "src": "21237:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "21833:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "21843:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21855:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21866:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21851:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21851:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21843:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21890:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "21901:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "21886:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21886:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21909:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "21915:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "21905:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "21905:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "21879:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "21879:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "21879:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "21935:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22069:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "21943:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "21943:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "21935:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "21813:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "21828:4:14", + "type": "" + } + ], + "src": "21662:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22258:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22268:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22280:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22291:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22276:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22276:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22268:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22315:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22326:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22311:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22311:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22334:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22340:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22330:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22330:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22304:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22304:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22304:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "22360:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22494:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22368:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "22368:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22360:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22238:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22253:4:14", + "type": "" + } + ], + "src": "22087:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "22683:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "22693:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22705:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22716:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22701:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22701:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22693:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22740:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "22751:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "22736:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22736:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22759:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "22765:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "22755:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "22755:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "22729:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "22729:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "22729:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "22785:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22919:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "22793:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "22793:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "22785:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "22663:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "22678:4:14", + "type": "" + } + ], + "src": "22512:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23108:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23118:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23130:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23141:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23126:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23126:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23118:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23165:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23176:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23161:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23161:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23184:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23190:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23180:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23180:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23154:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23154:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23154:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "23210:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23344:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23218:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "23218:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23210:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23088:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23103:4:14", + "type": "" + } + ], + "src": "22937:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23533:248:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23543:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23555:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23566:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23551:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23551:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23543:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23590:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23601:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23586:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23586:17:14" + }, + { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23609:4:14" + }, + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23615:9:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "23605:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23605:20:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "23579:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "23579:47:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23579:47:14" + }, + { + "nodeType": "YulAssignment", + "src": "23635:139:14", + "value": { + "arguments": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23769:4:14" + } + ], + "functionName": { + "name": "abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack", + "nodeType": "YulIdentifier", + "src": "23643:124:14" + }, + "nodeType": "YulFunctionCall", + "src": "23643:131:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23635:4:14" + } + ] + } + ] + }, + "name": "abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23513:9:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23528:4:14", + "type": "" + } + ], + "src": "23362:419:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "23885:124:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "23895:26:14", + "value": { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23907:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23918:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23903:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23903:18:14" + }, + "variableNames": [ + { + "name": "tail", + "nodeType": "YulIdentifier", + "src": "23895:4:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value0", + "nodeType": "YulIdentifier", + "src": "23975:6:14" + }, + { + "arguments": [ + { + "name": "headStart", + "nodeType": "YulIdentifier", + "src": "23988:9:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "23999:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "23984:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "23984:17:14" + } + ], + "functionName": { + "name": "abi_encode_t_uint256_to_t_uint256_fromStack", + "nodeType": "YulIdentifier", + "src": "23931:43:14" + }, + "nodeType": "YulFunctionCall", + "src": "23931:71:14" + }, + "nodeType": "YulExpressionStatement", + "src": "23931:71:14" + } + ] + }, + "name": "abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "headStart", + "nodeType": "YulTypedName", + "src": "23857:9:14", + "type": "" + }, + { + "name": "value0", + "nodeType": "YulTypedName", + "src": "23869:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "tail", + "nodeType": "YulTypedName", + "src": "23880:4:14", + "type": "" + } + ], + "src": "23787:222:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24056:88:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24066:30:14", + "value": { + "arguments": [], + "functionName": { + "name": "allocate_unbounded", + "nodeType": "YulIdentifier", + "src": "24076:18:14" + }, + "nodeType": "YulFunctionCall", + "src": "24076:20:14" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24066:6:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24125:6:14" + }, + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "24133:4:14" + } + ], + "functionName": { + "name": "finalize_allocation", + "nodeType": "YulIdentifier", + "src": "24105:19:14" + }, + "nodeType": "YulFunctionCall", + "src": "24105:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "24105:33:14" + } + ] + }, + "name": "allocate_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "24040:4:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24049:6:14", + "type": "" + } + ], + "src": "24015:129:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24190:35:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24200:19:14", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24216:2:14", + "type": "", + "value": "64" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "24210:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "24210:9:14" + }, + "variableNames": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "24200:6:14" + } + ] + } + ] + }, + "name": "allocate_unbounded", + "nodeType": "YulFunctionDefinition", + "returnVariables": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "24183:6:14", + "type": "" + } + ], + "src": "24150:75:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24298:241:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "24403:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "24405:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "24405:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "24405:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24375:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24383:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "24372:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "24372:30:14" + }, + "nodeType": "YulIf", + "src": "24369:2:14" + }, + { + "nodeType": "YulAssignment", + "src": "24435:37:14", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24465:6:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "24443:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "24443:29:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "24435:4:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "24509:23:14", + "value": { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "24521:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24527:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24517:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "24517:15:14" + }, + "variableNames": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "24509:4:14" + } + ] + } + ] + }, + "name": "array_allocation_size_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24282:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "size", + "nodeType": "YulTypedName", + "src": "24293:4:14", + "type": "" + } + ], + "src": "24231:308:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24604:40:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24615:22:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "24631:5:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "24625:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "24625:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24615:6:14" + } + ] + } + ] + }, + "name": "array_length_t_string_memory_ptr", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "24587:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24597:6:14", + "type": "" + } + ], + "src": "24545:99:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24763:34:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "24773:18:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24788:3:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "24773:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24735:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24740:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "24751:11:14", + "type": "" + } + ], + "src": "24650:147:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "24899:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24916:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "24921:6:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "24909:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "24909:19:14" + }, + "nodeType": "YulExpressionStatement", + "src": "24909:19:14" + }, + { + "nodeType": "YulAssignment", + "src": "24937:29:14", + "value": { + "arguments": [ + { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "24956:3:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "24961:4:14", + "type": "", + "value": "0x20" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "24952:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "24952:14:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "24937:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "24871:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "24876:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "24887:11:14", + "type": "" + } + ], + "src": "24803:169:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25092:34:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25102:18:14", + "value": { + "name": "pos", + "nodeType": "YulIdentifier", + "src": "25117:3:14" + }, + "variableNames": [ + { + "name": "updated_pos", + "nodeType": "YulIdentifier", + "src": "25102:11:14" + } + ] + } + ] + }, + "name": "array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "pos", + "nodeType": "YulTypedName", + "src": "25064:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "25069:6:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "updated_pos", + "nodeType": "YulTypedName", + "src": "25080:11:14", + "type": "" + } + ], + "src": "24978:148:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25176:261:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25186:25:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25209:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25191:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "25191:20:14" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25186:1:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25220:25:14", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25243:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25225:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "25225:20:14" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25220:1:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25383:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "25385:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "25385:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "25385:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25304:1:14" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25311:66:14", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25379:1:14" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "25307:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25307:74:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "25301:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "25301:81:14" + }, + "nodeType": "YulIf", + "src": "25298:2:14" + }, + { + "nodeType": "YulAssignment", + "src": "25415:16:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25426:1:14" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25429:1:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "25422:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25422:9:14" + }, + "variableNames": [ + { + "name": "sum", + "nodeType": "YulIdentifier", + "src": "25415:3:14" + } + ] + } + ] + }, + "name": "checked_add_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "25163:1:14", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "25166:1:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "sum", + "nodeType": "YulTypedName", + "src": "25172:3:14", + "type": "" + } + ], + "src": "25132:305:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25491:300:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25501:25:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25524:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25506:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "25506:20:14" + }, + "variableNames": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25501:1:14" + } + ] + }, + { + "nodeType": "YulAssignment", + "src": "25535:25:14", + "value": { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25558:1:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "25540:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "25540:20:14" + }, + "variableNames": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25535:1:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25733:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "25735:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "25735:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "25735:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25645:1:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25638:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "25638:9:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25631:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "25631:17:14" + }, + { + "arguments": [ + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25653:1:14" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "25660:66:14", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff" + }, + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25728:1:14" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "25656:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25656:74:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "25650:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "25650:81:14" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "25627:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25627:105:14" + }, + "nodeType": "YulIf", + "src": "25624:2:14" + }, + { + "nodeType": "YulAssignment", + "src": "25765:20:14", + "value": { + "arguments": [ + { + "name": "x", + "nodeType": "YulIdentifier", + "src": "25780:1:14" + }, + { + "name": "y", + "nodeType": "YulIdentifier", + "src": "25783:1:14" + } + ], + "functionName": { + "name": "mul", + "nodeType": "YulIdentifier", + "src": "25776:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "25776:9:14" + }, + "variableNames": [ + { + "name": "product", + "nodeType": "YulIdentifier", + "src": "25765:7:14" + } + ] + } + ] + }, + "name": "checked_mul_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "x", + "nodeType": "YulTypedName", + "src": "25474:1:14", + "type": "" + }, + { + "name": "y", + "nodeType": "YulTypedName", + "src": "25477:1:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "product", + "nodeType": "YulTypedName", + "src": "25483:7:14", + "type": "" + } + ], + "src": "25443:348:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25842:51:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25852:35:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25881:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "25863:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "25863:24:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "25852:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25824:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "25834:7:14", + "type": "" + } + ], + "src": "25797:96:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "25941:48:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "25951:32:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "25976:5:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25969:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "25969:13:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "25962:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "25962:21:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "25951:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "25923:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "25933:7:14", + "type": "" + } + ], + "src": "25899:90:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26040:32:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26050:16:14", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26061:5:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26050:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26022:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26032:7:14", + "type": "" + } + ], + "src": "25995:77:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26122:105:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26132:89:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26147:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26154:66:14", + "type": "", + "value": "0xffffffff00000000000000000000000000000000000000000000000000000000" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "26143:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "26143:78:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26132:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26104:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26114:7:14", + "type": "" + } + ], + "src": "26078:149:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26293:81:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26303:16:14", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26314:5:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26303:7:14" + } + ] + }, + { + "expression": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26362:5:14" + } + ], + "functionName": { + "name": "validator_assert_t_enum$_VotingType_$1839", + "nodeType": "YulIdentifier", + "src": "26320:41:14" + }, + "nodeType": "YulFunctionCall", + "src": "26320:48:14" + }, + "nodeType": "YulExpressionStatement", + "src": "26320:48:14" + } + ] + }, + "name": "cleanup_t_enum$_VotingType_$1839", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26275:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26285:7:14", + "type": "" + } + ], + "src": "26233:141:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26423:47:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26433:31:14", + "value": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26455:1:14", + "type": "", + "value": "7" + }, + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26458:5:14" + } + ], + "functionName": { + "name": "signextend", + "nodeType": "YulIdentifier", + "src": "26444:10:14" + }, + "nodeType": "YulFunctionCall", + "src": "26444:20:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26433:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26405:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26415:7:14", + "type": "" + } + ], + "src": "26380:90:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26521:81:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26531:65:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26546:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26553:42:14", + "type": "", + "value": "0xffffffffffffffffffffffffffffffffffffffff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "26542:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "26542:54:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26531:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26503:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26513:7:14", + "type": "" + } + ], + "src": "26476:126:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26653:32:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26663:16:14", + "value": { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26674:5:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26663:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26635:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26645:7:14", + "type": "" + } + ], + "src": "26608:77:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26734:43:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26744:27:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26759:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "26766:4:14", + "type": "", + "value": "0xff" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "26755:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "26755:16:14" + }, + "variableNames": [ + { + "name": "cleaned", + "nodeType": "YulIdentifier", + "src": "26744:7:14" + } + ] + } + ] + }, + "name": "cleanup_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26716:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "cleaned", + "nodeType": "YulTypedName", + "src": "26726:7:14", + "type": "" + } + ], + "src": "26691:86:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "26862:85:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "26872:69:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "26935:5:14" + } + ], + "functionName": { + "name": "convert_t_contract$_TGPassport_$1745_to_t_uint160", + "nodeType": "YulIdentifier", + "src": "26885:49:14" + }, + "nodeType": "YulFunctionCall", + "src": "26885:56:14" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "26872:9:14" + } + ] + } + ] + }, + "name": "convert_t_contract$_TGPassport_$1745_to_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "26842:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "26852:9:14", + "type": "" + } + ], + "src": "26783:164:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27032:53:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27042:37:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27073:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint160", + "nodeType": "YulIdentifier", + "src": "27055:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "27055:24:14" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "27042:9:14" + } + ] + } + ] + }, + "name": "convert_t_contract$_TGPassport_$1745_to_t_uint160", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27012:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "27022:9:14", + "type": "" + } + ], + "src": "26953:132:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27164:68:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27174:52:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27220:5:14" + } + ], + "functionName": { + "name": "cleanup_t_enum$_VotingType_$1839", + "nodeType": "YulIdentifier", + "src": "27187:32:14" + }, + "nodeType": "YulFunctionCall", + "src": "27187:39:14" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "27174:9:14" + } + ] + } + ] + }, + "name": "convert_t_enum$_VotingType_$1839_to_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27144:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "27154:9:14", + "type": "" + } + ], + "src": "27091:141:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27295:51:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27305:35:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27334:5:14" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "27318:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "27318:22:14" + }, + "variableNames": [ + { + "name": "converted", + "nodeType": "YulIdentifier", + "src": "27305:9:14" + } + ] + } + ] + }, + "name": "convert_t_int64_to_t_int256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27275:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "converted", + "nodeType": "YulTypedName", + "src": "27285:9:14", + "type": "" + } + ], + "src": "27238:108:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27403:103:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "27426:3:14" + }, + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "27431:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27436:6:14" + } + ], + "functionName": { + "name": "calldatacopy", + "nodeType": "YulIdentifier", + "src": "27413:12:14" + }, + "nodeType": "YulFunctionCall", + "src": "27413:30:14" + }, + "nodeType": "YulExpressionStatement", + "src": "27413:30:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "27484:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27489:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27480:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "27480:16:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27498:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27473:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "27473:27:14" + }, + "nodeType": "YulExpressionStatement", + "src": "27473:27:14" + } + ] + }, + "name": "copy_calldata_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "27385:3:14", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "27390:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "27395:6:14", + "type": "" + } + ], + "src": "27352:154:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27561:258:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "27571:10:14", + "value": { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27580:1:14", + "type": "", + "value": "0" + }, + "variables": [ + { + "name": "i", + "nodeType": "YulTypedName", + "src": "27575:1:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27640:63:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "27665:3:14" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27670:1:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27661:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "27661:11:14" + }, + { + "arguments": [ + { + "arguments": [ + { + "name": "src", + "nodeType": "YulIdentifier", + "src": "27684:3:14" + }, + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27689:1:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27680:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "27680:11:14" + } + ], + "functionName": { + "name": "mload", + "nodeType": "YulIdentifier", + "src": "27674:5:14" + }, + "nodeType": "YulFunctionCall", + "src": "27674:18:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27654:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "27654:39:14" + }, + "nodeType": "YulExpressionStatement", + "src": "27654:39:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27601:1:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27604:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "27598:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "27598:13:14" + }, + "nodeType": "YulForLoop", + "post": { + "nodeType": "YulBlock", + "src": "27612:19:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27614:15:14", + "value": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27623:1:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27626:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27619:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "27619:10:14" + }, + "variableNames": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27614:1:14" + } + ] + } + ] + }, + "pre": { + "nodeType": "YulBlock", + "src": "27594:3:14", + "statements": [] + }, + "src": "27590:113:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27737:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "dst", + "nodeType": "YulIdentifier", + "src": "27787:3:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27792:6:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "27783:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "27783:16:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27801:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "27776:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "27776:27:14" + }, + "nodeType": "YulExpressionStatement", + "src": "27776:27:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "i", + "nodeType": "YulIdentifier", + "src": "27718:1:14" + }, + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "27721:6:14" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "27715:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "27715:13:14" + }, + "nodeType": "YulIf", + "src": "27712:2:14" + } + ] + }, + "name": "copy_memory_to_memory", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "src", + "nodeType": "YulTypedName", + "src": "27543:3:14", + "type": "" + }, + { + "name": "dst", + "nodeType": "YulTypedName", + "src": "27548:3:14", + "type": "" + }, + { + "name": "length", + "nodeType": "YulTypedName", + "src": "27553:6:14", + "type": "" + } + ], + "src": "27512:307:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27868:128:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "27878:33:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27905:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "27887:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "27887:24:14" + }, + "variableNames": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27878:5:14" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "27939:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x11", + "nodeType": "YulIdentifier", + "src": "27941:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "27941:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "27941:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27926:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27933:4:14", + "type": "", + "value": "0x00" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "27923:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "27923:15:14" + }, + "nodeType": "YulIf", + "src": "27920:2:14" + }, + { + "nodeType": "YulAssignment", + "src": "27970:20:14", + "value": { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "27981:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "27988:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "sub", + "nodeType": "YulIdentifier", + "src": "27977:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "27977:13:14" + }, + "variableNames": [ + { + "name": "ret", + "nodeType": "YulIdentifier", + "src": "27970:3:14" + } + ] + } + ] + }, + "name": "decrement_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "27854:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "ret", + "nodeType": "YulTypedName", + "src": "27864:3:14", + "type": "" + } + ], + "src": "27825:171:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28053:269:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28063:22:14", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "28077:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28083:1:14", + "type": "", + "value": "2" + } + ], + "functionName": { + "name": "div", + "nodeType": "YulIdentifier", + "src": "28073:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "28073:12:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28063:6:14" + } + ] + }, + { + "nodeType": "YulVariableDeclaration", + "src": "28094:38:14", + "value": { + "arguments": [ + { + "name": "data", + "nodeType": "YulIdentifier", + "src": "28124:4:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28130:1:14", + "type": "", + "value": "1" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "28120:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "28120:12:14" + }, + "variables": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulTypedName", + "src": "28098:18:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28171:51:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "28185:27:14", + "value": { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28199:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28207:4:14", + "type": "", + "value": "0x7f" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "28195:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "28195:17:14" + }, + "variableNames": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28185:6:14" + } + ] + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "28151:18:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "28144:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28144:26:14" + }, + "nodeType": "YulIf", + "src": "28141:2:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28274:42:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x22", + "nodeType": "YulIdentifier", + "src": "28288:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "28288:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28288:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "name": "outOfPlaceEncoding", + "nodeType": "YulIdentifier", + "src": "28238:18:14" + }, + { + "arguments": [ + { + "name": "length", + "nodeType": "YulIdentifier", + "src": "28261:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28269:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "28258:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "28258:14:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "28235:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "28235:38:14" + }, + "nodeType": "YulIf", + "src": "28232:2:14" + } + ] + }, + "name": "extract_byte_array_length", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "data", + "nodeType": "YulTypedName", + "src": "28037:4:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "length", + "nodeType": "YulTypedName", + "src": "28046:6:14", + "type": "" + } + ], + "src": "28002:320:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28371:238:14", + "statements": [ + { + "nodeType": "YulVariableDeclaration", + "src": "28381:58:14", + "value": { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28403:6:14" + }, + { + "arguments": [ + { + "name": "size", + "nodeType": "YulIdentifier", + "src": "28433:4:14" + } + ], + "functionName": { + "name": "round_up_to_mul_of_32", + "nodeType": "YulIdentifier", + "src": "28411:21:14" + }, + "nodeType": "YulFunctionCall", + "src": "28411:27:14" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "28399:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "28399:40:14" + }, + "variables": [ + { + "name": "newFreePtr", + "nodeType": "YulTypedName", + "src": "28385:10:14", + "type": "" + } + ] + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28550:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x41", + "nodeType": "YulIdentifier", + "src": "28552:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "28552:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28552:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "28493:10:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28505:18:14", + "type": "", + "value": "0xffffffffffffffff" + } + ], + "functionName": { + "name": "gt", + "nodeType": "YulIdentifier", + "src": "28490:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "28490:34:14" + }, + { + "arguments": [ + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "28529:10:14" + }, + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "28541:6:14" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "28526:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "28526:22:14" + } + ], + "functionName": { + "name": "or", + "nodeType": "YulIdentifier", + "src": "28487:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "28487:62:14" + }, + "nodeType": "YulIf", + "src": "28484:2:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28588:2:14", + "type": "", + "value": "64" + }, + { + "name": "newFreePtr", + "nodeType": "YulIdentifier", + "src": "28592:10:14" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28581:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28581:22:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28581:22:14" + } + ] + }, + "name": "finalize_allocation", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "28357:6:14", + "type": "" + }, + { + "name": "size", + "nodeType": "YulTypedName", + "src": "28365:4:14", + "type": "" + } + ], + "src": "28328:281:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28643:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28660:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28663:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28653:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28653:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28653:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28757:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28760:4:14", + "type": "", + "value": "0x11" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28750:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28750:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28750:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28781:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28784:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "28774:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28774:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28774:15:14" + } + ] + }, + "name": "panic_error_0x11", + "nodeType": "YulFunctionDefinition", + "src": "28615:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "28829:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28846:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28849:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28839:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28839:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28839:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28943:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28946:4:14", + "type": "", + "value": "0x21" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "28936:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28936:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28936:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28967:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "28970:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "28960:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "28960:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "28960:15:14" + } + ] + }, + "name": "panic_error_0x21", + "nodeType": "YulFunctionDefinition", + "src": "28801:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29015:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29032:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29035:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29025:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29025:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29025:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29129:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29132:4:14", + "type": "", + "value": "0x22" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29122:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29122:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29122:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29153:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29156:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "29146:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29146:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29146:15:14" + } + ] + }, + "name": "panic_error_0x22", + "nodeType": "YulFunctionDefinition", + "src": "28987:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29201:152:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29218:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29221:77:14", + "type": "", + "value": "35408467139433450592217433187231851964531694900788300625387963629091585785856" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29211:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29211:88:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29211:88:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29315:1:14", + "type": "", + "value": "4" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29318:4:14", + "type": "", + "value": "0x41" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29308:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29308:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29308:15:14" + }, + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29339:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29342:4:14", + "type": "", + "value": "0x24" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "29332:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29332:15:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29332:15:14" + } + ] + }, + "name": "panic_error_0x41", + "nodeType": "YulFunctionDefinition", + "src": "29173:180:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29407:54:14", + "statements": [ + { + "nodeType": "YulAssignment", + "src": "29417:38:14", + "value": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "29435:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29442:2:14", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29431:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29431:14:14" + }, + { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29451:2:14", + "type": "", + "value": "31" + } + ], + "functionName": { + "name": "not", + "nodeType": "YulIdentifier", + "src": "29447:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29447:7:14" + } + ], + "functionName": { + "name": "and", + "nodeType": "YulIdentifier", + "src": "29427:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29427:28:14" + }, + "variableNames": [ + { + "name": "result", + "nodeType": "YulIdentifier", + "src": "29417:6:14" + } + ] + } + ] + }, + "name": "round_up_to_mul_of_32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "29390:5:14", + "type": "" + } + ], + "returnVariables": [ + { + "name": "result", + "nodeType": "YulTypedName", + "src": "29400:6:14", + "type": "" + } + ], + "src": "29359:102:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29573:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29595:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29603:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29591:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29591:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "29607:34:14", + "type": "", + "value": "Strings: hex length insufficient" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29584:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29584:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29584:58:14" + } + ] + }, + "name": "store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "29565:6:14", + "type": "" + } + ], + "src": "29467:182:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29761:73:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29783:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29791:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29779:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29779:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "29795:31:14", + "type": "", + "value": "User did not registred in TGP" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29772:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29772:55:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29772:55:14" + } + ] + }, + "name": "store_literal_in_memory_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "29753:6:14", + "type": "" + } + ], + "src": "29655:179:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "29946:119:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "29968:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "29976:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "29964:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "29964:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "29980:34:14", + "type": "", + "value": "Ownable: new owner is the zero a" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "29957:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "29957:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "29957:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30036:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30044:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30032:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30032:15:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30049:8:14", + "type": "", + "value": "ddress" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30025:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30025:33:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30025:33:14" + } + ] + }, + "name": "store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "29938:6:14", + "type": "" + } + ], + "src": "29840:225:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30177:66:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30199:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30207:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30195:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30195:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30211:24:14", + "type": "", + "value": "Unable to transfer fee" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30188:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30188:48:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30188:48:14" + } + ] + }, + "name": "store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30169:6:14", + "type": "" + } + ], + "src": "30071:172:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30355:68:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30377:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30385:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30373:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30373:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30389:26:14", + "type": "", + "value": "Passport fee is not paid" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30366:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30366:50:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30366:50:14" + } + ] + }, + "name": "store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30347:6:14", + "type": "" + } + ], + "src": "30249:174:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30535:72:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30557:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30565:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30553:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30553:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30569:30:14", + "type": "", + "value": "this chat tgid already taken" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30546:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30546:54:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30546:54:14" + } + ] + }, + "name": "store_literal_in_memory_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30527:6:14", + "type": "" + } + ], + "src": "30429:178:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30719:128:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30741:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30749:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30737:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30737:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30753:34:14", + "type": "", + "value": "Contract does not match with cor" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30730:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30730:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30730:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30809:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30817:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30805:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30805:15:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30822:17:14", + "type": "", + "value": "responding type" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30798:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30798:42:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30798:42:14" + } + ] + }, + "name": "store_literal_in_memory_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30711:6:14", + "type": "" + } + ], + "src": "30613:234:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "30959:76:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "30981:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "30989:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "30977:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "30977:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "30993:34:14", + "type": "", + "value": "Ownable: caller is not the owner" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "30970:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "30970:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "30970:58:14" + } + ] + }, + "name": "store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "30951:6:14", + "type": "" + } + ], + "src": "30853:182:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31147:8:14", + "statements": [] + }, + "name": "store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31139:6:14", + "type": "" + } + ], + "src": "31041:114:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31267:67:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31289:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31297:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31285:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31285:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31301:25:14", + "type": "", + "value": "AccessControl: account " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31278:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31278:49:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31278:49:14" + } + ] + }, + "name": "store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31259:6:14", + "type": "" + } + ], + "src": "31161:173:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31446:131:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31468:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31476:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31464:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31464:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31480:34:14", + "type": "", + "value": "already has been approved OR did" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31457:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31457:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31457:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31536:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31544:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31532:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31532:15:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31549:20:14", + "type": "", + "value": "n't applied at all" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31525:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31525:45:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31525:45:14" + } + ] + }, + "name": "store_literal_in_memory_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31438:6:14", + "type": "" + } + ], + "src": "31340:237:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31689:61:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31711:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31719:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31707:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31707:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31723:19:14", + "type": "", + "value": " is missing role " + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31700:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31700:43:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31700:43:14" + } + ] + }, + "name": "store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31681:6:14", + "type": "" + } + ], + "src": "31583:167:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "31862:128:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31884:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31892:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31880:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31880:14:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31896:34:14", + "type": "", + "value": "AccessControl: can only renounce" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31873:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31873:58:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31873:58:14" + }, + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "name": "memPtr", + "nodeType": "YulIdentifier", + "src": "31952:6:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "31960:2:14", + "type": "", + "value": "32" + } + ], + "functionName": { + "name": "add", + "nodeType": "YulIdentifier", + "src": "31948:3:14" + }, + "nodeType": "YulFunctionCall", + "src": "31948:15:14" + }, + { + "kind": "string", + "nodeType": "YulLiteral", + "src": "31965:17:14", + "type": "", + "value": " roles for self" + } + ], + "functionName": { + "name": "mstore", + "nodeType": "YulIdentifier", + "src": "31941:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "31941:42:14" + }, + "nodeType": "YulExpressionStatement", + "src": "31941:42:14" + } + ] + }, + "name": "store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "memPtr", + "nodeType": "YulTypedName", + "src": "31854:6:14", + "type": "" + } + ], + "src": "31756:234:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32054:62:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32088:22:14", + "statements": [ + { + "expression": { + "arguments": [], + "functionName": { + "name": "panic_error_0x21", + "nodeType": "YulIdentifier", + "src": "32090:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "32090:18:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32090:18:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32077:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32084:1:14", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "32074:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "32074:12:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32067:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32067:20:14" + }, + "nodeType": "YulIf", + "src": "32064:2:14" + } + ] + }, + "name": "validator_assert_t_enum$_VotingType_$1839", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32047:5:14", + "type": "" + } + ], + "src": "31996:120:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32165:79:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32222:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32231:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32234:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32224:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32224:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32224:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32188:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32213:5:14" + } + ], + "functionName": { + "name": "cleanup_t_address", + "nodeType": "YulIdentifier", + "src": "32195:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "32195:24:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32185:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "32185:35:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32178:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32178:43:14" + }, + "nodeType": "YulIf", + "src": "32175:2:14" + } + ] + }, + "name": "validator_revert_t_address", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32158:5:14", + "type": "" + } + ], + "src": "32122:122:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32290:76:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32344:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32353:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32356:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32346:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32346:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32346:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32313:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32335:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bool", + "nodeType": "YulIdentifier", + "src": "32320:14:14" + }, + "nodeType": "YulFunctionCall", + "src": "32320:21:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32310:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "32310:32:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32303:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32303:40:14" + }, + "nodeType": "YulIf", + "src": "32300:2:14" + } + ] + }, + "name": "validator_revert_t_bool", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32283:5:14", + "type": "" + } + ], + "src": "32250:116:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32415:79:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32472:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32481:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32484:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32474:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32474:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32474:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32438:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32463:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bytes32", + "nodeType": "YulIdentifier", + "src": "32445:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "32445:24:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32435:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "32435:35:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32428:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32428:43:14" + }, + "nodeType": "YulIf", + "src": "32425:2:14" + } + ] + }, + "name": "validator_revert_t_bytes32", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32408:5:14", + "type": "" + } + ], + "src": "32372:122:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32542:78:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32598:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32607:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32610:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32600:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32600:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32600:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32565:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32589:5:14" + } + ], + "functionName": { + "name": "cleanup_t_bytes4", + "nodeType": "YulIdentifier", + "src": "32572:16:14" + }, + "nodeType": "YulFunctionCall", + "src": "32572:23:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32562:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "32562:34:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32555:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32555:42:14" + }, + "nodeType": "YulIf", + "src": "32552:2:14" + } + ] + }, + "name": "validator_revert_t_bytes4", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32535:5:14", + "type": "" + } + ], + "src": "32500:120:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32684:56:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32718:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32727:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32730:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32720:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32720:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32720:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32707:5:14" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32714:1:14", + "type": "", + "value": "3" + } + ], + "functionName": { + "name": "lt", + "nodeType": "YulIdentifier", + "src": "32704:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "32704:12:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32697:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32697:20:14" + }, + "nodeType": "YulIf", + "src": "32694:2:14" + } + ] + }, + "name": "validator_revert_t_enum$_VotingType_$1839", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32677:5:14", + "type": "" + } + ], + "src": "32626:114:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32787:77:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32842:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32851:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32854:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32844:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32844:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32844:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32810:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32833:5:14" + } + ], + "functionName": { + "name": "cleanup_t_int64", + "nodeType": "YulIdentifier", + "src": "32817:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "32817:22:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32807:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "32807:33:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32800:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32800:41:14" + }, + "nodeType": "YulIf", + "src": "32797:2:14" + } + ] + }, + "name": "validator_revert_t_int64", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32780:5:14", + "type": "" + } + ], + "src": "32746:118:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "32913:79:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "32970:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32979:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "32982:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "32972:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32972:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "32972:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32936:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "32961:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint256", + "nodeType": "YulIdentifier", + "src": "32943:17:14" + }, + "nodeType": "YulFunctionCall", + "src": "32943:24:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "32933:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "32933:35:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "32926:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "32926:43:14" + }, + "nodeType": "YulIf", + "src": "32923:2:14" + } + ] + }, + "name": "validator_revert_t_uint256", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "32906:5:14", + "type": "" + } + ], + "src": "32870:122:14" + }, + { + "body": { + "nodeType": "YulBlock", + "src": "33039:77:14", + "statements": [ + { + "body": { + "nodeType": "YulBlock", + "src": "33094:16:14", + "statements": [ + { + "expression": { + "arguments": [ + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33103:1:14", + "type": "", + "value": "0" + }, + { + "kind": "number", + "nodeType": "YulLiteral", + "src": "33106:1:14", + "type": "", + "value": "0" + } + ], + "functionName": { + "name": "revert", + "nodeType": "YulIdentifier", + "src": "33096:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "33096:12:14" + }, + "nodeType": "YulExpressionStatement", + "src": "33096:12:14" + } + ] + }, + "condition": { + "arguments": [ + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "33062:5:14" + }, + { + "arguments": [ + { + "name": "value", + "nodeType": "YulIdentifier", + "src": "33085:5:14" + } + ], + "functionName": { + "name": "cleanup_t_uint8", + "nodeType": "YulIdentifier", + "src": "33069:15:14" + }, + "nodeType": "YulFunctionCall", + "src": "33069:22:14" + } + ], + "functionName": { + "name": "eq", + "nodeType": "YulIdentifier", + "src": "33059:2:14" + }, + "nodeType": "YulFunctionCall", + "src": "33059:33:14" + } + ], + "functionName": { + "name": "iszero", + "nodeType": "YulIdentifier", + "src": "33052:6:14" + }, + "nodeType": "YulFunctionCall", + "src": "33052:41:14" + }, + "nodeType": "YulIf", + "src": "33049:2:14" + } + ] + }, + "name": "validator_revert_t_uint8", + "nodeType": "YulFunctionDefinition", + "parameters": [ + { + "name": "value", + "nodeType": "YulTypedName", + "src": "33032:5:14", + "type": "" + } + ], + "src": "32998:118:14" + } + ] + }, + "contents": "{\n\n function abi_decode_available_length_t_string_memory_ptr(src, length, end) -> array {\n array := allocate_memory(array_allocation_size_t_string_memory_ptr(length))\n mstore(array, length)\n let dst := add(array, 0x20)\n if gt(add(src, length), end) { revert(0, 0) }\n copy_calldata_to_memory(src, dst, length)\n }\n\n function abi_decode_t_address(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_address_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_address(value)\n }\n\n function abi_decode_t_bool_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_bool(value)\n }\n\n function abi_decode_t_bytes32(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes32(value)\n }\n\n function abi_decode_t_bytes4(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_bytes4(value)\n }\n\n function abi_decode_t_enum$_VotingType_$1839(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_enum$_VotingType_$1839(value)\n }\n\n function abi_decode_t_int64(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_int64(value)\n }\n\n // string\n function abi_decode_t_string_memory_ptr(offset, end) -> array {\n if iszero(slt(add(offset, 0x1f), end)) { revert(0, 0) }\n let length := calldataload(offset)\n array := abi_decode_available_length_t_string_memory_ptr(add(offset, 0x20), length, end)\n }\n\n function abi_decode_t_uint256(offset, end) -> value {\n value := calldataload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint256_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint256(value)\n }\n\n function abi_decode_t_uint8_fromMemory(offset, end) -> value {\n value := mload(offset)\n validator_revert_t_uint8(value)\n }\n\n function abi_decode_tuple_t_address(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_address_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_address_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bool_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bool_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes32t_address(headStart, dataEnd) -> value0, value1 {\n if slt(sub(dataEnd, headStart), 64) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes32(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_bytes4(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_bytes4(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_int64t_int64t_addresst_enum$_VotingType_$1839t_addresst_string_memory_ptr(headStart, dataEnd) -> value0, value1, value2, value3, value4, value5 {\n if slt(sub(dataEnd, headStart), 192) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 32\n\n value1 := abi_decode_t_int64(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 64\n\n value2 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 96\n\n value3 := abi_decode_t_enum$_VotingType_$1839(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := 128\n\n value4 := abi_decode_t_address(add(headStart, offset), dataEnd)\n }\n\n {\n\n let offset := calldataload(add(headStart, 160))\n if gt(offset, 0xffffffffffffffff) { revert(0, 0) }\n\n value5 := abi_decode_t_string_memory_ptr(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint256_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint256_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_decode_tuple_t_uint8_fromMemory(headStart, dataEnd) -> value0 {\n if slt(sub(dataEnd, headStart), 32) { revert(0, 0) }\n\n {\n\n let offset := 0\n\n value0 := abi_decode_t_uint8_fromMemory(add(headStart, offset), dataEnd)\n }\n\n }\n\n function abi_encode_t_address_to_t_address_fromStack(value, pos) {\n mstore(pos, cleanup_t_address(value))\n }\n\n function abi_encode_t_bool_to_t_bool_fromStack(value, pos) {\n mstore(pos, cleanup_t_bool(value))\n }\n\n function abi_encode_t_bytes32_to_t_bytes32_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes32(value))\n }\n\n function abi_encode_t_bytes4_to_t_bytes4_fromStack(value, pos) {\n mstore(pos, cleanup_t_bytes4(value))\n }\n\n function abi_encode_t_contract$_TGPassport_$1745_to_t_address_fromStack(value, pos) {\n mstore(pos, convert_t_contract$_TGPassport_$1745_to_t_address(value))\n }\n\n function abi_encode_t_enum$_VotingType_$1839_to_t_uint8_fromStack(value, pos) {\n mstore(pos, convert_t_enum$_VotingType_$1839_to_t_uint8(value))\n }\n\n function abi_encode_t_int64_to_t_int256_fromStack(value, pos) {\n mstore(pos, convert_t_int64_to_t_int256(value))\n }\n\n function abi_encode_t_int64_to_t_int64_fromStack(value, pos) {\n mstore(pos, cleanup_t_int64(value))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, round_up_to_mul_of_32(length))\n }\n\n function abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value, pos) -> end {\n let length := array_length_t_string_memory_ptr(value)\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length)\n copy_memory_to_memory(add(value, 0x20), pos, length)\n end := add(pos, length)\n }\n\n function abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 29)\n store_literal_in_memory_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 38)\n store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 22)\n store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 24)\n store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 28)\n store_literal_in_memory_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 32)\n store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(pos)\n end := add(pos, 32)\n }\n\n function abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, 0)\n store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(pos)\n end := add(pos, 0)\n }\n\n function abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 23)\n store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(pos)\n end := add(pos, 23)\n }\n\n function abi_encode_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 50)\n store_literal_in_memory_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, 17)\n store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(pos)\n end := add(pos, 17)\n }\n\n function abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack(pos) -> end {\n pos := array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, 47)\n store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(pos)\n end := add(pos, 64)\n }\n\n function abi_encode_t_uint256_to_t_uint256_fromStack(value, pos) {\n mstore(pos, cleanup_t_uint256(value))\n }\n\n function abi_encode_tuple_packed_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470__to_t_bytes_memory_ptr__nonPadded_inplace_fromStack_reversed(pos ) -> end {\n\n pos := abi_encode_t_stringliteral_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470_to_t_bytes_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n end := pos\n }\n\n function abi_encode_tuple_packed_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_t_string_memory_ptr_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_t_string_memory_ptr__to_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr_t_string_memory_ptr__nonPadded_inplace_fromStack_reversed(pos , value1, value0) -> end {\n\n pos := abi_encode_t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value0, pos)\n\n pos := abi_encode_t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69_to_t_string_memory_ptr_nonPadded_inplace_fromStack( pos)\n\n pos := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_nonPadded_inplace_fromStack(value1, pos)\n\n end := pos\n }\n\n function abi_encode_tuple_t_address__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_address_t_int64_t_bool_t_address_t_enum$_VotingType_$1839_t_address_t_string_memory_ptr__to_t_address_t_int64_t_bool_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed(headStart , value6, value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 224)\n\n abi_encode_t_address_to_t_address_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_int64_to_t_int64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_bool_to_t_bool_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_enum$_VotingType_$1839_to_t_uint8_fromStack(value4, add(headStart, 128))\n\n abi_encode_t_address_to_t_address_fromStack(value5, add(headStart, 160))\n\n mstore(add(headStart, 192), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value6, tail)\n\n }\n\n function abi_encode_tuple_t_bool__to_t_bool__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bool_to_t_bool_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes32__to_t_bytes32__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes32_to_t_bytes32_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_bytes4__to_t_bytes4__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_bytes4_to_t_bytes4_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_contract$_TGPassport_$1745__to_t_address__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_contract$_TGPassport_$1745_to_t_address_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_int64__to_t_int64__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n }\n\n function abi_encode_tuple_t_int64_t_address_t_enum$_VotingType_$1839_t_address_t_string_memory_ptr__to_t_int256_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_int64_to_t_int256_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_enum$_VotingType_$1839_to_t_uint8_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value4, tail)\n\n }\n\n function abi_encode_tuple_t_int64_t_address_t_enum$_VotingType_$1839_t_address_t_string_memory_ptr__to_t_int64_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed(headStart , value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 160)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_address_to_t_address_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_enum$_VotingType_$1839_to_t_uint8_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_address_to_t_address_fromStack(value3, add(headStart, 96))\n\n mstore(add(headStart, 128), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value4, tail)\n\n }\n\n function abi_encode_tuple_t_int64_t_int64_t_address_t_enum$_VotingType_$1839_t_address_t_string_memory_ptr__to_t_int64_t_int64_t_address_t_uint8_t_address_t_string_memory_ptr__fromStack_reversed(headStart , value5, value4, value3, value2, value1, value0) -> tail {\n tail := add(headStart, 192)\n\n abi_encode_t_int64_to_t_int64_fromStack(value0, add(headStart, 0))\n\n abi_encode_t_int64_to_t_int64_fromStack(value1, add(headStart, 32))\n\n abi_encode_t_address_to_t_address_fromStack(value2, add(headStart, 64))\n\n abi_encode_t_enum$_VotingType_$1839_to_t_uint8_fromStack(value3, add(headStart, 96))\n\n abi_encode_t_address_to_t_address_fromStack(value4, add(headStart, 128))\n\n mstore(add(headStart, 160), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value5, tail)\n\n }\n\n function abi_encode_tuple_t_string_memory_ptr__to_t_string_memory_ptr__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_string_memory_ptr_to_t_string_memory_ptr_fromStack(value0, tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b__to_t_string_memory_ptr__fromStack_reversed(headStart ) -> tail {\n tail := add(headStart, 32)\n\n mstore(add(headStart, 0), sub(tail, headStart))\n tail := abi_encode_t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b_to_t_string_memory_ptr_fromStack( tail)\n\n }\n\n function abi_encode_tuple_t_uint256__to_t_uint256__fromStack_reversed(headStart , value0) -> tail {\n tail := add(headStart, 32)\n\n abi_encode_t_uint256_to_t_uint256_fromStack(value0, add(headStart, 0))\n\n }\n\n function allocate_memory(size) -> memPtr {\n memPtr := allocate_unbounded()\n finalize_allocation(memPtr, size)\n }\n\n function allocate_unbounded() -> memPtr {\n memPtr := mload(64)\n }\n\n function array_allocation_size_t_string_memory_ptr(length) -> size {\n // Make sure we can allocate memory without overflow\n if gt(length, 0xffffffffffffffff) { panic_error_0x41() }\n\n size := round_up_to_mul_of_32(length)\n\n // add length slot\n size := add(size, 0x20)\n\n }\n\n function array_length_t_string_memory_ptr(value) -> length {\n\n length := mload(value)\n\n }\n\n function array_storeLengthForEncoding_t_bytes_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_fromStack(pos, length) -> updated_pos {\n mstore(pos, length)\n updated_pos := add(pos, 0x20)\n }\n\n function array_storeLengthForEncoding_t_string_memory_ptr_nonPadded_inplace_fromStack(pos, length) -> updated_pos {\n updated_pos := pos\n }\n\n function checked_add_t_uint256(x, y) -> sum {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x > (maxValue - y)\n if gt(x, sub(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, y)) { panic_error_0x11() }\n\n sum := add(x, y)\n }\n\n function checked_mul_t_uint256(x, y) -> product {\n x := cleanup_t_uint256(x)\n y := cleanup_t_uint256(y)\n\n // overflow, if x != 0 and y > (maxValue / x)\n if and(iszero(iszero(x)), gt(y, div(0xffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff, x))) { panic_error_0x11() }\n\n product := mul(x, y)\n }\n\n function cleanup_t_address(value) -> cleaned {\n cleaned := cleanup_t_uint160(value)\n }\n\n function cleanup_t_bool(value) -> cleaned {\n cleaned := iszero(iszero(value))\n }\n\n function cleanup_t_bytes32(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_bytes4(value) -> cleaned {\n cleaned := and(value, 0xffffffff00000000000000000000000000000000000000000000000000000000)\n }\n\n function cleanup_t_enum$_VotingType_$1839(value) -> cleaned {\n cleaned := value validator_assert_t_enum$_VotingType_$1839(value)\n }\n\n function cleanup_t_int64(value) -> cleaned {\n cleaned := signextend(7, value)\n }\n\n function cleanup_t_uint160(value) -> cleaned {\n cleaned := and(value, 0xffffffffffffffffffffffffffffffffffffffff)\n }\n\n function cleanup_t_uint256(value) -> cleaned {\n cleaned := value\n }\n\n function cleanup_t_uint8(value) -> cleaned {\n cleaned := and(value, 0xff)\n }\n\n function convert_t_contract$_TGPassport_$1745_to_t_address(value) -> converted {\n converted := convert_t_contract$_TGPassport_$1745_to_t_uint160(value)\n }\n\n function convert_t_contract$_TGPassport_$1745_to_t_uint160(value) -> converted {\n converted := cleanup_t_uint160(value)\n }\n\n function convert_t_enum$_VotingType_$1839_to_t_uint8(value) -> converted {\n converted := cleanup_t_enum$_VotingType_$1839(value)\n }\n\n function convert_t_int64_to_t_int256(value) -> converted {\n converted := cleanup_t_int64(value)\n }\n\n function copy_calldata_to_memory(src, dst, length) {\n calldatacopy(dst, src, length)\n // clear end\n mstore(add(dst, length), 0)\n }\n\n function copy_memory_to_memory(src, dst, length) {\n let i := 0\n for { } lt(i, length) { i := add(i, 32) }\n {\n mstore(add(dst, i), mload(add(src, i)))\n }\n if gt(i, length)\n {\n // clear end\n mstore(add(dst, length), 0)\n }\n }\n\n function decrement_t_uint256(value) -> ret {\n value := cleanup_t_uint256(value)\n if eq(value, 0x00) { panic_error_0x11() }\n ret := sub(value, 1)\n }\n\n function extract_byte_array_length(data) -> length {\n length := div(data, 2)\n let outOfPlaceEncoding := and(data, 1)\n if iszero(outOfPlaceEncoding) {\n length := and(length, 0x7f)\n }\n\n if eq(outOfPlaceEncoding, lt(length, 32)) {\n panic_error_0x22()\n }\n }\n\n function finalize_allocation(memPtr, size) {\n let newFreePtr := add(memPtr, round_up_to_mul_of_32(size))\n // protect against overflow\n if or(gt(newFreePtr, 0xffffffffffffffff), lt(newFreePtr, memPtr)) { panic_error_0x41() }\n mstore(64, newFreePtr)\n }\n\n function panic_error_0x11() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x11)\n revert(0, 0x24)\n }\n\n function panic_error_0x21() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x21)\n revert(0, 0x24)\n }\n\n function panic_error_0x22() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x22)\n revert(0, 0x24)\n }\n\n function panic_error_0x41() {\n mstore(0, 35408467139433450592217433187231851964531694900788300625387963629091585785856)\n mstore(4, 0x41)\n revert(0, 0x24)\n }\n\n function round_up_to_mul_of_32(value) -> result {\n result := and(add(value, 31), not(31))\n }\n\n function store_literal_in_memory_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2(memPtr) {\n\n mstore(add(memPtr, 0), \"Strings: hex length insufficient\")\n\n }\n\n function store_literal_in_memory_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9(memPtr) {\n\n mstore(add(memPtr, 0), \"User did not registred in TGP\")\n\n }\n\n function store_literal_in_memory_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: new owner is the zero a\")\n\n mstore(add(memPtr, 32), \"ddress\")\n\n }\n\n function store_literal_in_memory_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f(memPtr) {\n\n mstore(add(memPtr, 0), \"Unable to transfer fee\")\n\n }\n\n function store_literal_in_memory_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d(memPtr) {\n\n mstore(add(memPtr, 0), \"Passport fee is not paid\")\n\n }\n\n function store_literal_in_memory_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c(memPtr) {\n\n mstore(add(memPtr, 0), \"this chat tgid already taken\")\n\n }\n\n function store_literal_in_memory_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24(memPtr) {\n\n mstore(add(memPtr, 0), \"Contract does not match with cor\")\n\n mstore(add(memPtr, 32), \"responding type\")\n\n }\n\n function store_literal_in_memory_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe(memPtr) {\n\n mstore(add(memPtr, 0), \"Ownable: caller is not the owner\")\n\n }\n\n function store_literal_in_memory_c5d2460186f7233c927e7db2dcc703c0e500b653ca82273b7bfad8045d85a470(memPtr) {\n\n }\n\n function store_literal_in_memory_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: account \")\n\n }\n\n function store_literal_in_memory_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6(memPtr) {\n\n mstore(add(memPtr, 0), \"already has been approved OR did\")\n\n mstore(add(memPtr, 32), \"n't applied at all\")\n\n }\n\n function store_literal_in_memory_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69(memPtr) {\n\n mstore(add(memPtr, 0), \" is missing role \")\n\n }\n\n function store_literal_in_memory_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b(memPtr) {\n\n mstore(add(memPtr, 0), \"AccessControl: can only renounce\")\n\n mstore(add(memPtr, 32), \" roles for self\")\n\n }\n\n function validator_assert_t_enum$_VotingType_$1839(value) {\n if iszero(lt(value, 3)) { panic_error_0x21() }\n }\n\n function validator_revert_t_address(value) {\n if iszero(eq(value, cleanup_t_address(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bool(value) {\n if iszero(eq(value, cleanup_t_bool(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bytes32(value) {\n if iszero(eq(value, cleanup_t_bytes32(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_bytes4(value) {\n if iszero(eq(value, cleanup_t_bytes4(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_enum$_VotingType_$1839(value) {\n if iszero(lt(value, 3)) { revert(0, 0) }\n }\n\n function validator_revert_t_int64(value) {\n if iszero(eq(value, cleanup_t_int64(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint256(value) {\n if iszero(eq(value, cleanup_t_uint256(value))) { revert(0, 0) }\n }\n\n function validator_revert_t_uint8(value) {\n if iszero(eq(value, cleanup_t_uint8(value))) { revert(0, 0) }\n }\n\n}\n", + "id": 14, + "language": "Yul", + "name": "#utility.yul" + } + ], + "immutableReferences": {}, + "linkReferences": {}, + "object": "60806040526004361061012a5760003560e01c806391d14854116100ab578063d4d8f8921161006f578063d4d8f892146103d7578063d547741f14610402578063d698b3641461042b578063d6b2da8e14610468578063e57bede4146104a5578063f2fde38b146104e25761012a565b806391d14854146102e7578063a217fddf14610324578063ad8f86601461034f578063b9f7076f14610378578063c25f3cf6146103945761012a565b806338743904116100f257806338743904146102245780635d1ce88f1461024f578063715018a61461027a5780637527d5a1146102915780638da5cb5b146102bc5761012a565b806301ffc9a71461012f578063248a9ca31461016c5780632f2ff15d146101a957806336568abe146101d257806336b9f727146101fb575b600080fd5b34801561013b57600080fd5b50610156600480360381019061015191906128b8565b61050b565b6040516101639190612dbe565b60405180910390f35b34801561017857600080fd5b50610193600480360381019061018e9190612853565b610585565b6040516101a09190612dd9565b60405180910390f35b3480156101b557600080fd5b506101d060048036038101906101cb919061287c565b6105a5565b005b3480156101de57600080fd5b506101f960048036038101906101f4919061287c565b6105ce565b005b34801561020757600080fd5b50610222600480360381019061021d91906127d8565b610651565b005b34801561023057600080fd5b50610239610b11565b6040516102469190612dd9565b60405180910390f35b34801561025b57600080fd5b50610264610b35565b6040516102719190612dd9565b60405180910390f35b34801561028657600080fd5b5061028f610b5d565b005b34801561029d57600080fd5b506102a6610be5565b6040516102b39190612e0f565b60405180910390f35b3480156102c857600080fd5b506102d1610c0b565b6040516102de9190612d2d565b60405180910390f35b3480156102f357600080fd5b5061030e6004803603810190610309919061287c565b610c34565b60405161031b9190612dbe565b60405180910390f35b34801561033057600080fd5b50610339610c9f565b6040516103469190612dd9565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906127d8565b610ca6565b005b610392600480360381019061038d919061290a565b611271565b005b3480156103a057600080fd5b506103bb60048036038101906103b691906127d8565b6119bb565b6040516103ce9796959493929190612d48565b60405180910390f35b3480156103e357600080fd5b506103ec611b0c565b6040516103f991906130c3565b60405180910390f35b34801561040e57600080fd5b506104296004803603810190610424919061287c565b611b1d565b005b34801561043757600080fd5b50610452600480360381019061044d91906129ab565b611b46565b60405161045f9190612e2a565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a91906128e1565b611b7d565b60405161049c9190612d2d565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c791906128e1565b611bb0565b6040516104d99190612d2d565b60405180910390f35b3480156104ee57600080fd5b50610509600480360381019061050491906127d8565b611bf8565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82611cf0565b5b9050919050565b600060016000838152602001908152602001600020600101549050919050565b6105ae82610585565b6105bf816105ba611d5a565b611d62565b6105c98383611dff565b505050565b6105d6611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063a906130a3565b60405180910390fd5b61064d8282611edf565b5050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e1576106838161067e611d5a565b611d62565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660028111156107fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610836577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820180546108a090613375565b80601f01602080910402602001604051908101604052809291908181526020018280546108cc90613375565b80156109195780601f106108ee57610100808354040283529160200191610919565b820191906000526020600020905b8154815290600101906020018083116108fc57829003601f168201915b505050505081525050905060001515816040015115151461096f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096690613083565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160146101000a81549060ff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610a7791906125bb565b505060056000826020015160070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fd06e11c55c5f21676305517c655a0188744d3bee09361e15470276872d56a0b98160200151826060015183608001518460a001518560c00151604051610b04959493929190612e45565b60405180910390a1505050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e15781565b60007fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157905090565b610b65611d5a565b73ffffffffffffffffffffffffffffffffffffffff16610b83610c0b565b73ffffffffffffffffffffffffffffffffffffffff1614610bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd090613063565b60405180910390fd5b610be36000611fc1565b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157610cd881610cd3611d5a565b611d62565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610e53577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610e8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610ef590613375565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2190613375565b8015610f6e5780601f10610f4357610100808354040283529160200191610f6e565b820191906000526020600020905b815481529060010190602001808311610f5157829003601f168201915b5050505050815250509050600015158160400151151514610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb90613083565b60405180910390fd5b600181604001901515908115158152505080600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115611146577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906111ae9291906125fb565b509050506111bc6007612085565b6006816020015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055507f19c3744c2d10eda4d05b727f02a712a414539c26678f5f988d98f9635afcac288160200151826060015183608001518460a001518560c00151604051611264959493929190612e45565b60405180910390a1505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c2fc6e3886040518263ffffffff1660e01b81526004016112ce9190612e2a565b60206040518083038186803b1580156112e657600080fd5b505afa1580156112fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131e9190612801565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612fa3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560008860070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142d90613023565b60405180910390fd5b84600560008860070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600061149a858561209b565b905060011515811515146114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613043565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166348dc15616040518163ffffffff1660e01b815260040160206040518083038186803b15801561154b57600080fd5b505afa15801561155f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158391906129d4565b6002819055506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018860070b81526020016000151581526020018773ffffffffffffffffffffffffffffffffffffffff168152602001866002811115611617577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff021916908360028111156117ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906118149291906125fb565b509050506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660025460405161186290612cde565b60006040518083038185875af1925050503d806000811461189f576040519150601f19603f3d011682016040523d82523d6000602084013e6118a4565b606091505b50509050806118e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118df90612fe3565b60405180910390fd5b600254341461192c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192390613003565b60405180910390fd5b7f0ae33dac4eb1cdcaf489d2a9a56c45d17257612cad7c531513d4e425951349e2888a8989898960405161196596959493929190612ef9565b60405180910390a18760070b7fefcac77603ca996faafa29a1d72a90249e186f4a4af6ad89434b18a66b6e9cd98a898989896040516119a8959493929190612e9f565b60405180910390a2505050505050505050565b60086020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003018054611a8990613375565b80601f0160208091040260200160405190810160405280929190818152602001828054611ab590613375565b8015611b025780601f10611ad757610100808354040283529160200191611b02565b820191906000526020600020905b815481529060010190602001808311611ae557829003601f168201915b5050505050905087565b6000611b1860076122b3565b905090565b611b2682610585565b611b3781611b32611d5a565b611d62565b611b418383611edf565b505050565b60068181548110611b5657600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600560008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080915050919050565b611c00611d5a565b73ffffffffffffffffffffffffffffffffffffffff16611c1e610c0b565b73ffffffffffffffffffffffffffffffffffffffff1614611c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6b90613063565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdb90612fc3565b60405180910390fd5b611ced81611fc1565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b611d6c8282610c34565b611dfb57611d918173ffffffffffffffffffffffffffffffffffffffff1660146122c1565b611d9f8360001c60206122c1565b604051602001611db0929190612cf3565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df29190612f61565b60405180910390fd5b5050565b611e098282610c34565b611edb57600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e80611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611ee98282610c34565b15611fbd5760006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f62611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b60006002808111156120d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561210f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156121ac578173ffffffffffffffffffffffffffffffffffffffff166301ffc9a763780e9d6360e01b6040518263ffffffff1660e01b81526004016121559190612df4565b60206040518083038186803b15801561216d57600080fd5b505afa158015612181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a5919061282a565b90506122ad565b600060028111156121e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561221f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156122ac5760128273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561226d57600080fd5b505afa158015612281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a591906129fd565b60ff161490505b5b92915050565b600081600001549050919050565b6060600060028360026122d491906131bc565b6122de9190613166565b67ffffffffffffffff81111561231d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561234f5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106123ad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612437577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261247791906131bc565b6124819190613166565b90505b600181111561256d577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106124e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110612526577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806125669061334b565b9050612484565b50600084146125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a890612f83565b60405180910390fd5b8091505092915050565b5080546125c790613375565b6000825580601f106125d957506125f8565b601f0160209004906000526020600020908101906125f79190612681565b5b50565b82805461260790613375565b90600052602060002090601f0160209004810192826126295760008555612670565b82601f1061264257805160ff1916838001178555612670565b82800160010185558215612670579182015b8281111561266f578251825591602001919060010190612654565b5b50905061267d9190612681565b5090565b5b8082111561269a576000816000905550600101612682565b5090565b60006126b16126ac84613103565b6130de565b9050828152602081018484840111156126c957600080fd5b6126d4848285613309565b509392505050565b6000813590506126eb81613740565b92915050565b60008151905061270081613740565b92915050565b60008151905061271581613757565b92915050565b60008135905061272a8161376e565b92915050565b60008135905061273f81613785565b92915050565b6000813590506127548161379c565b92915050565b600081359050612769816137ac565b92915050565b600082601f83011261278057600080fd5b813561279084826020860161269e565b91505092915050565b6000813590506127a8816137c3565b92915050565b6000815190506127bd816137c3565b92915050565b6000815190506127d2816137da565b92915050565b6000602082840312156127ea57600080fd5b60006127f8848285016126dc565b91505092915050565b60006020828403121561281357600080fd5b6000612821848285016126f1565b91505092915050565b60006020828403121561283c57600080fd5b600061284a84828501612706565b91505092915050565b60006020828403121561286557600080fd5b60006128738482850161271b565b91505092915050565b6000806040838503121561288f57600080fd5b600061289d8582860161271b565b92505060206128ae858286016126dc565b9150509250929050565b6000602082840312156128ca57600080fd5b60006128d884828501612730565b91505092915050565b6000602082840312156128f357600080fd5b60006129018482850161275a565b91505092915050565b60008060008060008060c0878903121561292357600080fd5b600061293189828a0161275a565b965050602061294289828a0161275a565b955050604061295389828a016126dc565b945050606061296489828a01612745565b935050608061297589828a016126dc565b92505060a087013567ffffffffffffffff81111561299257600080fd5b61299e89828a0161276f565b9150509295509295509295565b6000602082840312156129bd57600080fd5b60006129cb84828501612799565b91505092915050565b6000602082840312156129e657600080fd5b60006129f4848285016127ae565b91505092915050565b600060208284031215612a0f57600080fd5b6000612a1d848285016127c3565b91505092915050565b612a2f81613216565b82525050565b612a3e81613228565b82525050565b612a4d81613234565b82525050565b612a5c8161323e565b82525050565b612a6b816132c1565b82525050565b612a7a816132e5565b82525050565b612a89816132f7565b82525050565b612a988161327d565b82525050565b6000612aa982613134565b612ab3818561314a565b9350612ac3818560208601613318565b612acc81613494565b840191505092915050565b6000612ae282613134565b612aec818561315b565b9350612afc818560208601613318565b80840191505092915050565b6000612b1560208361314a565b9150612b20826134a5565b602082019050919050565b6000612b38601d8361314a565b9150612b43826134ce565b602082019050919050565b6000612b5b60268361314a565b9150612b66826134f7565b604082019050919050565b6000612b7e60168361314a565b9150612b8982613546565b602082019050919050565b6000612ba160188361314a565b9150612bac8261356f565b602082019050919050565b6000612bc4601c8361314a565b9150612bcf82613598565b602082019050919050565b6000612be7602f8361314a565b9150612bf2826135c1565b604082019050919050565b6000612c0a60208361314a565b9150612c1582613610565b602082019050919050565b6000612c2d60008361313f565b9150612c3882613639565b600082019050919050565b6000612c5060178361315b565b9150612c5b8261363c565b601782019050919050565b6000612c7360328361314a565b9150612c7e82613665565b604082019050919050565b6000612c9660118361315b565b9150612ca1826136b4565b601182019050919050565b6000612cb9602f8361314a565b9150612cc4826136dd565b604082019050919050565b612cd8816132aa565b82525050565b6000612ce982612c20565b9150819050919050565b6000612cfe82612c43565b9150612d0a8285612ad7565b9150612d1582612c89565b9150612d218284612ad7565b91508190509392505050565b6000602082019050612d426000830184612a26565b92915050565b600060e082019050612d5d600083018a612a26565b612d6a6020830189612a8f565b612d776040830188612a35565b612d846060830187612a26565b612d916080830186612a71565b612d9e60a0830185612a26565b81810360c0830152612db08184612a9e565b905098975050505050505050565b6000602082019050612dd36000830184612a35565b92915050565b6000602082019050612dee6000830184612a44565b92915050565b6000602082019050612e096000830184612a53565b92915050565b6000602082019050612e246000830184612a62565b92915050565b6000602082019050612e3f6000830184612a8f565b92915050565b600060a082019050612e5a6000830188612a80565b612e676020830187612a26565b612e746040830186612a71565b612e816060830185612a26565b8181036080830152612e938184612a9e565b90509695505050505050565b600060a082019050612eb46000830188612a8f565b612ec16020830187612a26565b612ece6040830186612a71565b612edb6060830185612a26565b8181036080830152612eed8184612a9e565b90509695505050505050565b600060c082019050612f0e6000830189612a8f565b612f1b6020830188612a8f565b612f286040830187612a26565b612f356060830186612a71565b612f426080830185612a26565b81810360a0830152612f548184612a9e565b9050979650505050505050565b60006020820190508181036000830152612f7b8184612a9e565b905092915050565b60006020820190508181036000830152612f9c81612b08565b9050919050565b60006020820190508181036000830152612fbc81612b2b565b9050919050565b60006020820190508181036000830152612fdc81612b4e565b9050919050565b60006020820190508181036000830152612ffc81612b71565b9050919050565b6000602082019050818103600083015261301c81612b94565b9050919050565b6000602082019050818103600083015261303c81612bb7565b9050919050565b6000602082019050818103600083015261305c81612bda565b9050919050565b6000602082019050818103600083015261307c81612bfd565b9050919050565b6000602082019050818103600083015261309c81612c66565b9050919050565b600060208201905081810360008301526130bc81612cac565b9050919050565b60006020820190506130d86000830184612ccf565b92915050565b60006130e86130f9565b90506130f482826133a7565b919050565b6000604051905090565b600067ffffffffffffffff82111561311e5761311d613465565b5b61312782613494565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613171826132aa565b915061317c836132aa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156131b1576131b06133d8565b5b828201905092915050565b60006131c7826132aa565b91506131d2836132aa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561320b5761320a6133d8565b5b828202905092915050565b60006132218261328a565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60008190506132788261372c565b919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006132cc826132d3565b9050919050565b60006132de8261328a565b9050919050565b60006132f08261326a565b9050919050565b60006133028261327d565b9050919050565b82818337600083830152505050565b60005b8381101561333657808201518184015260208101905061331b565b83811115613345576000848401525b50505050565b6000613356826132aa565b9150600082141561336a576133696133d8565b5b600182039050919050565b6000600282049050600182168061338d57607f821691505b602082108114156133a1576133a0613436565b5b50919050565b6133b082613494565b810181811067ffffffffffffffff821117156133cf576133ce613465565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f5573657220646964206e6f742072656769737472656420696e20544750000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f746869732063686174207467696420616c72656164792074616b656e00000000600082015250565b7f436f6e747261637420646f6573206e6f74206d61746368207769746820636f7260008201527f726573706f6e64696e6720747970650000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f616c726561647920686173206265656e20617070726f766564204f522064696460008201527f6e2774206170706c69656420617420616c6c0000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6003811061373d5761373c613407565b5b50565b61374981613216565b811461375457600080fd5b50565b61376081613228565b811461376b57600080fd5b50565b61377781613234565b811461378257600080fd5b50565b61378e8161323e565b811461379957600080fd5b50565b600381106137a957600080fd5b50565b6137b58161327d565b81146137c057600080fd5b50565b6137cc816132aa565b81146137d757600080fd5b50565b6137e3816132b4565b81146137ee57600080fd5b5056fea264697066735822122030e1ba95a9d2bfe3a4d55d1e19379bc5e93117750d284dc084a397076ad7025464736f6c63430008040033", + "opcodes": "PUSH1 0x80 PUSH1 0x40 MSTORE PUSH1 0x4 CALLDATASIZE LT PUSH2 0x12A JUMPI PUSH1 0x0 CALLDATALOAD PUSH1 0xE0 SHR DUP1 PUSH4 0x91D14854 GT PUSH2 0xAB JUMPI DUP1 PUSH4 0xD4D8F892 GT PUSH2 0x6F JUMPI DUP1 PUSH4 0xD4D8F892 EQ PUSH2 0x3D7 JUMPI DUP1 PUSH4 0xD547741F EQ PUSH2 0x402 JUMPI DUP1 PUSH4 0xD698B364 EQ PUSH2 0x42B JUMPI DUP1 PUSH4 0xD6B2DA8E EQ PUSH2 0x468 JUMPI DUP1 PUSH4 0xE57BEDE4 EQ PUSH2 0x4A5 JUMPI DUP1 PUSH4 0xF2FDE38B EQ PUSH2 0x4E2 JUMPI PUSH2 0x12A JUMP JUMPDEST DUP1 PUSH4 0x91D14854 EQ PUSH2 0x2E7 JUMPI DUP1 PUSH4 0xA217FDDF EQ PUSH2 0x324 JUMPI DUP1 PUSH4 0xAD8F8660 EQ PUSH2 0x34F JUMPI DUP1 PUSH4 0xB9F7076F EQ PUSH2 0x378 JUMPI DUP1 PUSH4 0xC25F3CF6 EQ PUSH2 0x394 JUMPI PUSH2 0x12A JUMP JUMPDEST DUP1 PUSH4 0x38743904 GT PUSH2 0xF2 JUMPI DUP1 PUSH4 0x38743904 EQ PUSH2 0x224 JUMPI DUP1 PUSH4 0x5D1CE88F EQ PUSH2 0x24F JUMPI DUP1 PUSH4 0x715018A6 EQ PUSH2 0x27A JUMPI DUP1 PUSH4 0x7527D5A1 EQ PUSH2 0x291 JUMPI DUP1 PUSH4 0x8DA5CB5B EQ PUSH2 0x2BC JUMPI PUSH2 0x12A JUMP JUMPDEST DUP1 PUSH4 0x1FFC9A7 EQ PUSH2 0x12F JUMPI DUP1 PUSH4 0x248A9CA3 EQ PUSH2 0x16C JUMPI DUP1 PUSH4 0x2F2FF15D EQ PUSH2 0x1A9 JUMPI DUP1 PUSH4 0x36568ABE EQ PUSH2 0x1D2 JUMPI DUP1 PUSH4 0x36B9F727 EQ PUSH2 0x1FB JUMPI JUMPDEST PUSH1 0x0 DUP1 REVERT JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x13B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x156 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x151 SWAP2 SWAP1 PUSH2 0x28B8 JUMP JUMPDEST PUSH2 0x50B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x163 SWAP2 SWAP1 PUSH2 0x2DBE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x178 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x193 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x18E SWAP2 SWAP1 PUSH2 0x2853 JUMP JUMPDEST PUSH2 0x585 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x1A0 SWAP2 SWAP1 PUSH2 0x2DD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1B5 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1D0 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1CB SWAP2 SWAP1 PUSH2 0x287C JUMP JUMPDEST PUSH2 0x5A5 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x1DE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x1F9 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x1F4 SWAP2 SWAP1 PUSH2 0x287C JUMP JUMPDEST PUSH2 0x5CE JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x207 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x222 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x21D SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH2 0x651 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x230 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x239 PUSH2 0xB11 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x246 SWAP2 SWAP1 PUSH2 0x2DD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x25B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x264 PUSH2 0xB35 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x271 SWAP2 SWAP1 PUSH2 0x2DD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x286 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x28F PUSH2 0xB5D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x29D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2A6 PUSH2 0xBE5 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2B3 SWAP2 SWAP1 PUSH2 0x2E0F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2C8 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x2D1 PUSH2 0xC0B JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x2DE SWAP2 SWAP1 PUSH2 0x2D2D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x2F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x30E PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x309 SWAP2 SWAP1 PUSH2 0x287C JUMP JUMPDEST PUSH2 0xC34 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x31B SWAP2 SWAP1 PUSH2 0x2DBE JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x330 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x339 PUSH2 0xC9F JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x346 SWAP2 SWAP1 PUSH2 0x2DD9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x35B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x376 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x371 SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH2 0xCA6 JUMP JUMPDEST STOP JUMPDEST PUSH2 0x392 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x38D SWAP2 SWAP1 PUSH2 0x290A JUMP JUMPDEST PUSH2 0x1271 JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3A0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3BB PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x3B6 SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH2 0x19BB JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3CE SWAP8 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2D48 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x3E3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x3EC PUSH2 0x1B0C JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x3F9 SWAP2 SWAP1 PUSH2 0x30C3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x40E JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x429 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x424 SWAP2 SWAP1 PUSH2 0x287C JUMP JUMPDEST PUSH2 0x1B1D JUMP JUMPDEST STOP JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x437 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x452 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x44D SWAP2 SWAP1 PUSH2 0x29AB JUMP JUMPDEST PUSH2 0x1B46 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x45F SWAP2 SWAP1 PUSH2 0x2E2A JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x474 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x48F PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x48A SWAP2 SWAP1 PUSH2 0x28E1 JUMP JUMPDEST PUSH2 0x1B7D JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x49C SWAP2 SWAP1 PUSH2 0x2D2D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4B1 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x4CC PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x4C7 SWAP2 SWAP1 PUSH2 0x28E1 JUMP JUMPDEST PUSH2 0x1BB0 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH2 0x4D9 SWAP2 SWAP1 PUSH2 0x2D2D JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 RETURN JUMPDEST CALLVALUE DUP1 ISZERO PUSH2 0x4EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP PUSH2 0x509 PUSH1 0x4 DUP1 CALLDATASIZE SUB DUP2 ADD SWAP1 PUSH2 0x504 SWAP2 SWAP1 PUSH2 0x27D8 JUMP JUMPDEST PUSH2 0x1BF8 JUMP JUMPDEST STOP JUMPDEST PUSH1 0x0 PUSH32 0x7965DB0B00000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ DUP1 PUSH2 0x57E JUMPI POP PUSH2 0x57D DUP3 PUSH2 0x1CF0 JUMP JUMPDEST JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP4 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x1 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x5AE DUP3 PUSH2 0x585 JUMP JUMPDEST PUSH2 0x5BF DUP2 PUSH2 0x5BA PUSH2 0x1D5A JUMP JUMPDEST PUSH2 0x1D62 JUMP JUMPDEST PUSH2 0x5C9 DUP4 DUP4 PUSH2 0x1DFF JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH2 0x5D6 PUSH2 0x1D5A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x643 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x63A SWAP1 PUSH2 0x30A3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x64D DUP3 DUP3 PUSH2 0x1EDF JUMP JUMPDEST POP POP JUMP JUMPDEST PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 PUSH2 0x683 DUP2 PUSH2 0x67E PUSH2 0x1D5A JUMP JUMPDEST PUSH2 0x1D62 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x7FE JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x836 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0x8A0 SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x8CC SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x919 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x8EE JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x919 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x8FC JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x40 ADD MLOAD ISZERO ISZERO EQ PUSH2 0x96F JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x966 SWAP1 PUSH2 0x3083 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x8 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x0 DUP3 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x1 DUP3 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH1 0xFF MUL NOT AND SWAP1 SSTORE PUSH1 0x2 DUP3 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH1 0x3 DUP3 ADD PUSH1 0x0 PUSH2 0xA77 SWAP2 SWAP1 PUSH2 0x25BB JUMP JUMPDEST POP POP PUSH1 0x5 PUSH1 0x0 DUP3 PUSH1 0x20 ADD MLOAD PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD SWAP1 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 SSTORE PUSH32 0xD06E11C55C5F21676305517C655A0188744D3BEE09361E15470276872D56A0B9 DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x60 ADD MLOAD DUP4 PUSH1 0x80 ADD MLOAD DUP5 PUSH1 0xA0 ADD MLOAD DUP6 PUSH1 0xC0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0xB04 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 DUP2 JUMP JUMPDEST PUSH1 0x0 PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0xB65 PUSH2 0x1D5A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0xB83 PUSH2 0xC0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0xBD9 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xBD0 SWAP1 PUSH2 0x3063 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0xBE3 PUSH1 0x0 PUSH2 0x1FC1 JUMP JUMPDEST JUMP JUMPDEST PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 SHL DUP2 JUMP JUMPDEST PUSH32 0xCEA62FE6ECC79E221C545BF918F804693C542EAD2549E37C2BB9BAA66EE2E157 PUSH2 0xCD8 DUP2 PUSH2 0xCD3 PUSH2 0x1D5A JUMP JUMPDEST PUSH2 0x1D62 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x8 PUSH1 0x0 DUP5 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE SWAP1 DUP2 PUSH1 0x0 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 DUP3 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND ISZERO ISZERO ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x1 DUP3 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xE53 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x2 DUP2 GT ISZERO PUSH2 0xE8B JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x2 DUP3 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x3 DUP3 ADD DUP1 SLOAD PUSH2 0xEF5 SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0xF21 SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 ISZERO PUSH2 0xF6E JUMPI DUP1 PUSH1 0x1F LT PUSH2 0xF43 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0xF6E JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0xF51 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP DUP2 MSTORE POP POP SWAP1 POP PUSH1 0x0 ISZERO ISZERO DUP2 PUSH1 0x40 ADD MLOAD ISZERO ISZERO EQ PUSH2 0xFC4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0xFBB SWAP1 PUSH2 0x3083 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x40 ADD SWAP1 ISZERO ISZERO SWAP1 DUP2 ISZERO ISZERO DUP2 MSTORE POP POP DUP1 PUSH1 0x8 PUSH1 0x0 DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1146 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x11AE SWAP3 SWAP2 SWAP1 PUSH2 0x25FB JUMP JUMPDEST POP SWAP1 POP POP PUSH2 0x11BC PUSH1 0x7 PUSH2 0x2085 JUMP JUMPDEST PUSH1 0x6 DUP2 PUSH1 0x20 ADD MLOAD SWAP1 DUP1 PUSH1 0x1 DUP2 SLOAD ADD DUP1 DUP3 SSTORE DUP1 SWAP2 POP POP PUSH1 0x1 SWAP1 SUB SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP1 SWAP2 SWAP1 SWAP2 SWAP1 SWAP2 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH32 0x19C3744C2D10EDA4D05B727F02A712A414539C26678F5F988D98F9635AFCAC28 DUP2 PUSH1 0x20 ADD MLOAD DUP3 PUSH1 0x60 ADD MLOAD DUP4 PUSH1 0x80 ADD MLOAD DUP5 PUSH1 0xA0 ADD MLOAD DUP6 PUSH1 0xC0 ADD MLOAD PUSH1 0x40 MLOAD PUSH2 0x1264 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E45 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0xC2FC6E3 DUP9 PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x12CE SWAP2 SWAP1 PUSH2 0x2E2A JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x12E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x12FA JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x131E SWAP2 SWAP1 PUSH2 0x2801 JUMP JUMPDEST SWAP1 POP CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x138E JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1385 SWAP1 PUSH2 0x2FA3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x5 PUSH1 0x0 DUP9 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1436 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x142D SWAP1 PUSH2 0x3023 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP5 PUSH1 0x5 PUSH1 0x0 DUP9 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x0 PUSH2 0x149A DUP6 DUP6 PUSH2 0x209B JUMP JUMPDEST SWAP1 POP PUSH1 0x1 ISZERO ISZERO DUP2 ISZERO ISZERO EQ PUSH2 0x14E3 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x14DA SWAP1 PUSH2 0x3043 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0xA PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x48DC1561 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x154B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x155F JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x1583 SWAP2 SWAP1 PUSH2 0x29D4 JUMP JUMPDEST PUSH1 0x2 DUP2 SWAP1 SSTORE POP PUSH1 0x40 MLOAD DUP1 PUSH1 0xE0 ADD PUSH1 0x40 MSTORE DUP1 CALLER PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP9 PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 ISZERO ISZERO DUP2 MSTORE PUSH1 0x20 ADD DUP8 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP7 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x1617 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP2 MSTORE PUSH1 0x20 ADD DUP6 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD DUP5 DUP2 MSTORE POP PUSH1 0x8 PUSH1 0x0 DUP9 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x20 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH8 0xFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH1 0x7 SIGNEXTEND PUSH8 0xFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x40 DUP3 ADD MLOAD DUP2 PUSH1 0x0 ADD PUSH1 0x1C PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH1 0x60 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0x80 DUP3 ADD MLOAD DUP2 PUSH1 0x1 ADD PUSH1 0x14 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x17AC JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST MUL OR SWAP1 SSTORE POP PUSH1 0xA0 DUP3 ADD MLOAD DUP2 PUSH1 0x2 ADD PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP PUSH1 0xC0 DUP3 ADD MLOAD DUP2 PUSH1 0x3 ADD SWAP1 DUP1 MLOAD SWAP1 PUSH1 0x20 ADD SWAP1 PUSH2 0x1814 SWAP3 SWAP2 SWAP1 PUSH2 0x25FB JUMP JUMPDEST POP SWAP1 POP POP PUSH1 0x0 PUSH1 0x3 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x2 SLOAD PUSH1 0x40 MLOAD PUSH2 0x1862 SWAP1 PUSH2 0x2CDE JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP6 DUP8 GAS CALL SWAP3 POP POP POP RETURNDATASIZE DUP1 PUSH1 0x0 DUP2 EQ PUSH2 0x189F JUMPI PUSH1 0x40 MLOAD SWAP2 POP PUSH1 0x1F NOT PUSH1 0x3F RETURNDATASIZE ADD AND DUP3 ADD PUSH1 0x40 MSTORE RETURNDATASIZE DUP3 MSTORE RETURNDATASIZE PUSH1 0x0 PUSH1 0x20 DUP5 ADD RETURNDATACOPY PUSH2 0x18A4 JUMP JUMPDEST PUSH1 0x60 SWAP2 POP JUMPDEST POP POP SWAP1 POP DUP1 PUSH2 0x18E8 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x18DF SWAP1 PUSH2 0x2FE3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x2 SLOAD CALLVALUE EQ PUSH2 0x192C JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1923 SWAP1 PUSH2 0x3003 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH32 0xAE33DAC4EB1CDCAF489D2A9A56C45D17257612CAD7C531513D4E425951349E2 DUP9 DUP11 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x1965 SWAP7 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2EF9 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG1 DUP8 PUSH1 0x7 SIGNEXTEND PUSH32 0xEFCAC77603CA996FAAFA29A1D72A90249E186F4A4AF6AD89434B18A66B6E9CD9 DUP11 DUP10 DUP10 DUP10 DUP10 PUSH1 0x40 MLOAD PUSH2 0x19A8 SWAP6 SWAP5 SWAP4 SWAP3 SWAP2 SWAP1 PUSH2 0x2E9F JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG2 POP POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x8 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SWAP1 POP DUP1 PUSH1 0x0 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND SWAP1 DUP1 PUSH1 0x0 ADD PUSH1 0x1C SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x1 ADD PUSH1 0x14 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0xFF AND SWAP1 DUP1 PUSH1 0x2 ADD PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 DUP1 PUSH1 0x3 ADD DUP1 SLOAD PUSH2 0x1A89 SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 PUSH1 0x1F ADD PUSH1 0x20 DUP1 SWAP2 DIV MUL PUSH1 0x20 ADD PUSH1 0x40 MLOAD SWAP1 DUP2 ADD PUSH1 0x40 MSTORE DUP1 SWAP3 SWAP2 SWAP1 DUP2 DUP2 MSTORE PUSH1 0x20 ADD DUP3 DUP1 SLOAD PUSH2 0x1AB5 SWAP1 PUSH2 0x3375 JUMP JUMPDEST DUP1 ISZERO PUSH2 0x1B02 JUMPI DUP1 PUSH1 0x1F LT PUSH2 0x1AD7 JUMPI PUSH2 0x100 DUP1 DUP4 SLOAD DIV MUL DUP4 MSTORE SWAP2 PUSH1 0x20 ADD SWAP2 PUSH2 0x1B02 JUMP JUMPDEST DUP3 ADD SWAP2 SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 JUMPDEST DUP2 SLOAD DUP2 MSTORE SWAP1 PUSH1 0x1 ADD SWAP1 PUSH1 0x20 ADD DUP1 DUP4 GT PUSH2 0x1AE5 JUMPI DUP3 SWAP1 SUB PUSH1 0x1F AND DUP3 ADD SWAP2 JUMPDEST POP POP POP POP POP SWAP1 POP DUP8 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x1B18 PUSH1 0x7 PUSH2 0x22B3 JUMP JUMPDEST SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1B26 DUP3 PUSH2 0x585 JUMP JUMPDEST PUSH2 0x1B37 DUP2 PUSH2 0x1B32 PUSH2 0x1D5A JUMP JUMPDEST PUSH2 0x1D62 JUMP JUMPDEST PUSH2 0x1B41 DUP4 DUP4 PUSH2 0x1EDF JUMP JUMPDEST POP POP POP JUMP JUMPDEST PUSH1 0x6 DUP2 DUP2 SLOAD DUP2 LT PUSH2 0x1B56 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x4 SWAP2 DUP3 DUP3 DIV ADD SWAP2 SWAP1 MOD PUSH1 0x8 MUL SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH1 0x7 SIGNEXTEND DUP2 JUMP JUMPDEST PUSH1 0x5 PUSH1 0x20 MSTORE DUP1 PUSH1 0x0 MSTORE PUSH1 0x40 PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP2 POP SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x5 PUSH1 0x0 DUP5 PUSH1 0x7 SIGNEXTEND PUSH1 0x7 SIGNEXTEND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP1 SWAP2 POP POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x1C00 PUSH2 0x1D5A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH2 0x1C1E PUSH2 0xC0B JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ PUSH2 0x1C74 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1C6B SWAP1 PUSH2 0x3063 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND EQ ISZERO PUSH2 0x1CE4 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1CDB SWAP1 PUSH2 0x2FC3 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST PUSH2 0x1CED DUP2 PUSH2 0x1FC1 JUMP JUMPDEST POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0x1FFC9A700000000000000000000000000000000000000000000000000000000 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND DUP3 PUSH28 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND EQ SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 CALLER SWAP1 POP SWAP1 JUMP JUMPDEST PUSH2 0x1D6C DUP3 DUP3 PUSH2 0xC34 JUMP JUMPDEST PUSH2 0x1DFB JUMPI PUSH2 0x1D91 DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH1 0x14 PUSH2 0x22C1 JUMP JUMPDEST PUSH2 0x1D9F DUP4 PUSH1 0x0 SHR PUSH1 0x20 PUSH2 0x22C1 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 ADD PUSH2 0x1DB0 SWAP3 SWAP2 SWAP1 PUSH2 0x2CF3 JUMP JUMPDEST PUSH1 0x40 MLOAD PUSH1 0x20 DUP2 DUP4 SUB SUB DUP2 MSTORE SWAP1 PUSH1 0x40 MSTORE PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x1DF2 SWAP2 SWAP1 PUSH2 0x2F61 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1E09 DUP3 DUP3 PUSH2 0xC34 JUMP JUMPDEST PUSH2 0x1EDB JUMPI PUSH1 0x1 DUP1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x1E80 PUSH2 0x1D5A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH32 0x2F8788117E7EFF1D82E926EC794901D17C78024A50270940304540A733656F0D PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP JUMP JUMPDEST PUSH2 0x1EE9 DUP3 DUP3 PUSH2 0xC34 JUMP JUMPDEST ISZERO PUSH2 0x1FBD JUMPI PUSH1 0x0 PUSH1 0x1 PUSH1 0x0 DUP5 DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 ADD PUSH1 0x0 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 MSTORE PUSH1 0x20 ADD SWAP1 DUP2 MSTORE PUSH1 0x20 ADD PUSH1 0x0 KECCAK256 PUSH1 0x0 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH1 0xFF MUL NOT AND SWAP1 DUP4 ISZERO ISZERO MUL OR SWAP1 SSTORE POP PUSH2 0x1F62 PUSH2 0x1D5A JUMP JUMPDEST PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP4 PUSH32 0xF6391F5C32D9C69D2A47EA670B442974B53935D1EDC7FD64EB21E047A839171B PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG4 JUMPDEST POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 SWAP1 SLOAD SWAP1 PUSH2 0x100 EXP SWAP1 DIV PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND SWAP1 POP DUP2 PUSH1 0x0 DUP1 PUSH2 0x100 EXP DUP2 SLOAD DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF MUL NOT AND SWAP1 DUP4 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND MUL OR SWAP1 SSTORE POP DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH32 0x8BE0079C531659141344CD1FD0A4F28419497F9722A3DAAFE3B4186F6B6457E0 PUSH1 0x40 MLOAD PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 LOG3 POP POP JUMP JUMPDEST PUSH1 0x1 DUP2 PUSH1 0x0 ADD PUSH1 0x0 DUP3 DUP3 SLOAD ADD SWAP3 POP POP DUP2 SWAP1 SSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP1 DUP2 GT ISZERO PUSH2 0x20D6 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x210F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x21AC JUMPI DUP2 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x1FFC9A7 PUSH4 0x780E9D63 PUSH1 0xE0 SHL PUSH1 0x40 MLOAD DUP3 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x2155 SWAP2 SWAP1 PUSH2 0x2DF4 JUMP JUMPDEST PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x216D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2181 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x21A5 SWAP2 SWAP1 PUSH2 0x282A JUMP JUMPDEST SWAP1 POP PUSH2 0x22AD JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x21E6 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST DUP4 PUSH1 0x2 DUP2 GT ISZERO PUSH2 0x221F JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST EQ ISZERO PUSH2 0x22AC JUMPI PUSH1 0x12 DUP3 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF AND PUSH4 0x313CE567 PUSH1 0x40 MLOAD DUP2 PUSH4 0xFFFFFFFF AND PUSH1 0xE0 SHL DUP2 MSTORE PUSH1 0x4 ADD PUSH1 0x20 PUSH1 0x40 MLOAD DUP1 DUP4 SUB DUP2 DUP7 DUP1 EXTCODESIZE ISZERO DUP1 ISZERO PUSH2 0x226D JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP GAS STATICCALL ISZERO DUP1 ISZERO PUSH2 0x2281 JUMPI RETURNDATASIZE PUSH1 0x0 DUP1 RETURNDATACOPY RETURNDATASIZE PUSH1 0x0 REVERT JUMPDEST POP POP POP POP PUSH1 0x40 MLOAD RETURNDATASIZE PUSH1 0x1F NOT PUSH1 0x1F DUP3 ADD AND DUP3 ADD DUP1 PUSH1 0x40 MSTORE POP DUP2 ADD SWAP1 PUSH2 0x22A5 SWAP2 SWAP1 PUSH2 0x29FD JUMP JUMPDEST PUSH1 0xFF AND EQ SWAP1 POP JUMPDEST JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x0 ADD SLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x60 PUSH1 0x0 PUSH1 0x2 DUP4 PUSH1 0x2 PUSH2 0x22D4 SWAP2 SWAP1 PUSH2 0x31BC JUMP JUMPDEST PUSH2 0x22DE SWAP2 SWAP1 PUSH2 0x3166 JUMP JUMPDEST PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x231D JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x40 MLOAD SWAP1 DUP1 DUP3 MSTORE DUP1 PUSH1 0x1F ADD PUSH1 0x1F NOT AND PUSH1 0x20 ADD DUP3 ADD PUSH1 0x40 MSTORE DUP1 ISZERO PUSH2 0x234F JUMPI DUP2 PUSH1 0x20 ADD PUSH1 0x1 DUP3 MUL DUP1 CALLDATASIZE DUP4 CALLDATACOPY DUP1 DUP3 ADD SWAP2 POP POP SWAP1 POP JUMPDEST POP SWAP1 POP PUSH32 0x3000000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x0 DUP2 MLOAD DUP2 LT PUSH2 0x23AD JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH32 0x7800000000000000000000000000000000000000000000000000000000000000 DUP2 PUSH1 0x1 DUP2 MLOAD DUP2 LT PUSH2 0x2437 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x0 PUSH1 0x1 DUP5 PUSH1 0x2 PUSH2 0x2477 SWAP2 SWAP1 PUSH2 0x31BC JUMP JUMPDEST PUSH2 0x2481 SWAP2 SWAP1 PUSH2 0x3166 JUMP JUMPDEST SWAP1 POP JUMPDEST PUSH1 0x1 DUP2 GT ISZERO PUSH2 0x256D JUMPI PUSH32 0x3031323334353637383961626364656600000000000000000000000000000000 PUSH1 0xF DUP7 AND PUSH1 0x10 DUP2 LT PUSH2 0x24E9 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST BYTE PUSH1 0xF8 SHL DUP3 DUP3 DUP2 MLOAD DUP2 LT PUSH2 0x2526 JUMPI PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x32 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x20 ADD ADD SWAP1 PUSH31 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF NOT AND SWAP1 DUP2 PUSH1 0x0 BYTE SWAP1 MSTORE8 POP PUSH1 0x4 DUP6 SWAP1 SHR SWAP5 POP DUP1 PUSH2 0x2566 SWAP1 PUSH2 0x334B JUMP JUMPDEST SWAP1 POP PUSH2 0x2484 JUMP JUMPDEST POP PUSH1 0x0 DUP5 EQ PUSH2 0x25B1 JUMPI PUSH1 0x40 MLOAD PUSH32 0x8C379A000000000000000000000000000000000000000000000000000000000 DUP2 MSTORE PUSH1 0x4 ADD PUSH2 0x25A8 SWAP1 PUSH2 0x2F83 JUMP JUMPDEST PUSH1 0x40 MLOAD DUP1 SWAP2 SUB SWAP1 REVERT JUMPDEST DUP1 SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST POP DUP1 SLOAD PUSH2 0x25C7 SWAP1 PUSH2 0x3375 JUMP JUMPDEST PUSH1 0x0 DUP3 SSTORE DUP1 PUSH1 0x1F LT PUSH2 0x25D9 JUMPI POP PUSH2 0x25F8 JUMP JUMPDEST PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 DUP2 ADD SWAP1 PUSH2 0x25F7 SWAP2 SWAP1 PUSH2 0x2681 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST DUP3 DUP1 SLOAD PUSH2 0x2607 SWAP1 PUSH2 0x3375 JUMP JUMPDEST SWAP1 PUSH1 0x0 MSTORE PUSH1 0x20 PUSH1 0x0 KECCAK256 SWAP1 PUSH1 0x1F ADD PUSH1 0x20 SWAP1 DIV DUP2 ADD SWAP3 DUP3 PUSH2 0x2629 JUMPI PUSH1 0x0 DUP6 SSTORE PUSH2 0x2670 JUMP JUMPDEST DUP3 PUSH1 0x1F LT PUSH2 0x2642 JUMPI DUP1 MLOAD PUSH1 0xFF NOT AND DUP4 DUP1 ADD OR DUP6 SSTORE PUSH2 0x2670 JUMP JUMPDEST DUP3 DUP1 ADD PUSH1 0x1 ADD DUP6 SSTORE DUP3 ISZERO PUSH2 0x2670 JUMPI SWAP2 DUP3 ADD JUMPDEST DUP3 DUP2 GT ISZERO PUSH2 0x266F JUMPI DUP3 MLOAD DUP3 SSTORE SWAP2 PUSH1 0x20 ADD SWAP2 SWAP1 PUSH1 0x1 ADD SWAP1 PUSH2 0x2654 JUMP JUMPDEST JUMPDEST POP SWAP1 POP PUSH2 0x267D SWAP2 SWAP1 PUSH2 0x2681 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST JUMPDEST DUP1 DUP3 GT ISZERO PUSH2 0x269A JUMPI PUSH1 0x0 DUP2 PUSH1 0x0 SWAP1 SSTORE POP PUSH1 0x1 ADD PUSH2 0x2682 JUMP JUMPDEST POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH2 0x26B1 PUSH2 0x26AC DUP5 PUSH2 0x3103 JUMP JUMPDEST PUSH2 0x30DE JUMP JUMPDEST SWAP1 POP DUP3 DUP2 MSTORE PUSH1 0x20 DUP2 ADD DUP5 DUP5 DUP5 ADD GT ISZERO PUSH2 0x26C9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x26D4 DUP5 DUP3 DUP6 PUSH2 0x3309 JUMP JUMPDEST POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x26EB DUP2 PUSH2 0x3740 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2700 DUP2 PUSH2 0x3740 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x2715 DUP2 PUSH2 0x3757 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x272A DUP2 PUSH2 0x376E JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x273F DUP2 PUSH2 0x3785 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2754 DUP2 PUSH2 0x379C JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x2769 DUP2 PUSH2 0x37AC JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 PUSH1 0x1F DUP4 ADD SLT PUSH2 0x2780 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST DUP2 CALLDATALOAD PUSH2 0x2790 DUP5 DUP3 PUSH1 0x20 DUP7 ADD PUSH2 0x269E JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 CALLDATALOAD SWAP1 POP PUSH2 0x27A8 DUP2 PUSH2 0x37C3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x27BD DUP2 PUSH2 0x37C3 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP PUSH2 0x27D2 DUP2 PUSH2 0x37DA JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x27EA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x27F8 DUP5 DUP3 DUP6 ADD PUSH2 0x26DC JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2813 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2821 DUP5 DUP3 DUP6 ADD PUSH2 0x26F1 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x283C JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x284A DUP5 DUP3 DUP6 ADD PUSH2 0x2706 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2865 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2873 DUP5 DUP3 DUP6 ADD PUSH2 0x271B JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x40 DUP4 DUP6 SUB SLT ISZERO PUSH2 0x288F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x289D DUP6 DUP3 DUP7 ADD PUSH2 0x271B JUMP JUMPDEST SWAP3 POP POP PUSH1 0x20 PUSH2 0x28AE DUP6 DUP3 DUP7 ADD PUSH2 0x26DC JUMP JUMPDEST SWAP2 POP POP SWAP3 POP SWAP3 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28CA JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x28D8 DUP5 DUP3 DUP6 ADD PUSH2 0x2730 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x28F3 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2901 DUP5 DUP3 DUP6 ADD PUSH2 0x275A JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0x0 DUP1 PUSH1 0xC0 DUP8 DUP10 SUB SLT ISZERO PUSH2 0x2923 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2931 DUP10 DUP3 DUP11 ADD PUSH2 0x275A JUMP JUMPDEST SWAP7 POP POP PUSH1 0x20 PUSH2 0x2942 DUP10 DUP3 DUP11 ADD PUSH2 0x275A JUMP JUMPDEST SWAP6 POP POP PUSH1 0x40 PUSH2 0x2953 DUP10 DUP3 DUP11 ADD PUSH2 0x26DC JUMP JUMPDEST SWAP5 POP POP PUSH1 0x60 PUSH2 0x2964 DUP10 DUP3 DUP11 ADD PUSH2 0x2745 JUMP JUMPDEST SWAP4 POP POP PUSH1 0x80 PUSH2 0x2975 DUP10 DUP3 DUP11 ADD PUSH2 0x26DC JUMP JUMPDEST SWAP3 POP POP PUSH1 0xA0 DUP8 ADD CALLDATALOAD PUSH8 0xFFFFFFFFFFFFFFFF DUP2 GT ISZERO PUSH2 0x2992 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH2 0x299E DUP10 DUP3 DUP11 ADD PUSH2 0x276F JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP6 POP SWAP3 SWAP6 POP SWAP3 SWAP6 JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29BD JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x29CB DUP5 DUP3 DUP6 ADD PUSH2 0x2799 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x29E6 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x29F4 DUP5 DUP3 DUP6 ADD PUSH2 0x27AE JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 DUP5 SUB SLT ISZERO PUSH2 0x2A0F JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST PUSH1 0x0 PUSH2 0x2A1D DUP5 DUP3 DUP6 ADD PUSH2 0x27C3 JUMP JUMPDEST SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH2 0x2A2F DUP2 PUSH2 0x3216 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A3E DUP2 PUSH2 0x3228 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A4D DUP2 PUSH2 0x3234 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A5C DUP2 PUSH2 0x323E JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A6B DUP2 PUSH2 0x32C1 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A7A DUP2 PUSH2 0x32E5 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A89 DUP2 PUSH2 0x32F7 JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH2 0x2A98 DUP2 PUSH2 0x327D JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AA9 DUP3 PUSH2 0x3134 JUMP JUMPDEST PUSH2 0x2AB3 DUP2 DUP6 PUSH2 0x314A JUMP JUMPDEST SWAP4 POP PUSH2 0x2AC3 DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3318 JUMP JUMPDEST PUSH2 0x2ACC DUP2 PUSH2 0x3494 JUMP JUMPDEST DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2AE2 DUP3 PUSH2 0x3134 JUMP JUMPDEST PUSH2 0x2AEC DUP2 DUP6 PUSH2 0x315B JUMP JUMPDEST SWAP4 POP PUSH2 0x2AFC DUP2 DUP6 PUSH1 0x20 DUP7 ADD PUSH2 0x3318 JUMP JUMPDEST DUP1 DUP5 ADD SWAP2 POP POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B15 PUSH1 0x20 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2B20 DUP3 PUSH2 0x34A5 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B38 PUSH1 0x1D DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2B43 DUP3 PUSH2 0x34CE JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B5B PUSH1 0x26 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2B66 DUP3 PUSH2 0x34F7 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2B7E PUSH1 0x16 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2B89 DUP3 PUSH2 0x3546 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BA1 PUSH1 0x18 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2BAC DUP3 PUSH2 0x356F JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BC4 PUSH1 0x1C DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2BCF DUP3 PUSH2 0x3598 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2BE7 PUSH1 0x2F DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2BF2 DUP3 PUSH2 0x35C1 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C0A PUSH1 0x20 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2C15 DUP3 PUSH2 0x3610 JUMP JUMPDEST PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C2D PUSH1 0x0 DUP4 PUSH2 0x313F JUMP JUMPDEST SWAP2 POP PUSH2 0x2C38 DUP3 PUSH2 0x3639 JUMP JUMPDEST PUSH1 0x0 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C50 PUSH1 0x17 DUP4 PUSH2 0x315B JUMP JUMPDEST SWAP2 POP PUSH2 0x2C5B DUP3 PUSH2 0x363C JUMP JUMPDEST PUSH1 0x17 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C73 PUSH1 0x32 DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2C7E DUP3 PUSH2 0x3665 JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2C96 PUSH1 0x11 DUP4 PUSH2 0x315B JUMP JUMPDEST SWAP2 POP PUSH2 0x2CA1 DUP3 PUSH2 0x36B4 JUMP JUMPDEST PUSH1 0x11 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CB9 PUSH1 0x2F DUP4 PUSH2 0x314A JUMP JUMPDEST SWAP2 POP PUSH2 0x2CC4 DUP3 PUSH2 0x36DD JUMP JUMPDEST PUSH1 0x40 DUP3 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x2CD8 DUP2 PUSH2 0x32AA JUMP JUMPDEST DUP3 MSTORE POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CE9 DUP3 PUSH2 0x2C20 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x2CFE DUP3 PUSH2 0x2C43 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D0A DUP3 DUP6 PUSH2 0x2AD7 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D15 DUP3 PUSH2 0x2C89 JUMP JUMPDEST SWAP2 POP PUSH2 0x2D21 DUP3 DUP5 PUSH2 0x2AD7 JUMP JUMPDEST SWAP2 POP DUP2 SWAP1 POP SWAP4 SWAP3 POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2D42 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A26 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xE0 DUP3 ADD SWAP1 POP PUSH2 0x2D5D PUSH1 0x0 DUP4 ADD DUP11 PUSH2 0x2A26 JUMP JUMPDEST PUSH2 0x2D6A PUSH1 0x20 DUP4 ADD DUP10 PUSH2 0x2A8F JUMP JUMPDEST PUSH2 0x2D77 PUSH1 0x40 DUP4 ADD DUP9 PUSH2 0x2A35 JUMP JUMPDEST PUSH2 0x2D84 PUSH1 0x60 DUP4 ADD DUP8 PUSH2 0x2A26 JUMP JUMPDEST PUSH2 0x2D91 PUSH1 0x80 DUP4 ADD DUP7 PUSH2 0x2A71 JUMP JUMPDEST PUSH2 0x2D9E PUSH1 0xA0 DUP4 ADD DUP6 PUSH2 0x2A26 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xC0 DUP4 ADD MSTORE PUSH2 0x2DB0 DUP2 DUP5 PUSH2 0x2A9E JUMP JUMPDEST SWAP1 POP SWAP9 SWAP8 POP POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DD3 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A35 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2DEE PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A44 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2E09 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A53 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2E24 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A62 JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x2E3F PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2A8F JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2E5A PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2A80 JUMP JUMPDEST PUSH2 0x2E67 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2A26 JUMP JUMPDEST PUSH2 0x2E74 PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2A71 JUMP JUMPDEST PUSH2 0x2E81 PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2A26 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x2E93 DUP2 DUP5 PUSH2 0x2A9E JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xA0 DUP3 ADD SWAP1 POP PUSH2 0x2EB4 PUSH1 0x0 DUP4 ADD DUP9 PUSH2 0x2A8F JUMP JUMPDEST PUSH2 0x2EC1 PUSH1 0x20 DUP4 ADD DUP8 PUSH2 0x2A26 JUMP JUMPDEST PUSH2 0x2ECE PUSH1 0x40 DUP4 ADD DUP7 PUSH2 0x2A71 JUMP JUMPDEST PUSH2 0x2EDB PUSH1 0x60 DUP4 ADD DUP6 PUSH2 0x2A26 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0x80 DUP4 ADD MSTORE PUSH2 0x2EED DUP2 DUP5 PUSH2 0x2A9E JUMP JUMPDEST SWAP1 POP SWAP7 SWAP6 POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xC0 DUP3 ADD SWAP1 POP PUSH2 0x2F0E PUSH1 0x0 DUP4 ADD DUP10 PUSH2 0x2A8F JUMP JUMPDEST PUSH2 0x2F1B PUSH1 0x20 DUP4 ADD DUP9 PUSH2 0x2A8F JUMP JUMPDEST PUSH2 0x2F28 PUSH1 0x40 DUP4 ADD DUP8 PUSH2 0x2A26 JUMP JUMPDEST PUSH2 0x2F35 PUSH1 0x60 DUP4 ADD DUP7 PUSH2 0x2A71 JUMP JUMPDEST PUSH2 0x2F42 PUSH1 0x80 DUP4 ADD DUP6 PUSH2 0x2A26 JUMP JUMPDEST DUP2 DUP2 SUB PUSH1 0xA0 DUP4 ADD MSTORE PUSH2 0x2F54 DUP2 DUP5 PUSH2 0x2A9E JUMP JUMPDEST SWAP1 POP SWAP8 SWAP7 POP POP POP POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F7B DUP2 DUP5 PUSH2 0x2A9E JUMP JUMPDEST SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2F9C DUP2 PUSH2 0x2B08 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2FBC DUP2 PUSH2 0x2B2B JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2FDC DUP2 PUSH2 0x2B4E JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x2FFC DUP2 PUSH2 0x2B71 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x301C DUP2 PUSH2 0x2B94 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x303C DUP2 PUSH2 0x2BB7 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x305C DUP2 PUSH2 0x2BDA JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x307C DUP2 PUSH2 0x2BFD JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x309C DUP2 PUSH2 0x2C66 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP DUP2 DUP2 SUB PUSH1 0x0 DUP4 ADD MSTORE PUSH2 0x30BC DUP2 PUSH2 0x2CAC JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x20 DUP3 ADD SWAP1 POP PUSH2 0x30D8 PUSH1 0x0 DUP4 ADD DUP5 PUSH2 0x2CCF JUMP JUMPDEST SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x30E8 PUSH2 0x30F9 JUMP JUMPDEST SWAP1 POP PUSH2 0x30F4 DUP3 DUP3 PUSH2 0x33A7 JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x40 MLOAD SWAP1 POP SWAP1 JUMP JUMPDEST PUSH1 0x0 PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT ISZERO PUSH2 0x311E JUMPI PUSH2 0x311D PUSH2 0x3465 JUMP JUMPDEST JUMPDEST PUSH2 0x3127 DUP3 PUSH2 0x3494 JUMP JUMPDEST SWAP1 POP PUSH1 0x20 DUP2 ADD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 MLOAD SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP3 DUP3 MSTORE PUSH1 0x20 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3171 DUP3 PUSH2 0x32AA JUMP JUMPDEST SWAP2 POP PUSH2 0x317C DUP4 PUSH2 0x32AA JUMP JUMPDEST SWAP3 POP DUP3 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF SUB DUP3 GT ISZERO PUSH2 0x31B1 JUMPI PUSH2 0x31B0 PUSH2 0x33D8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 ADD SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x31C7 DUP3 PUSH2 0x32AA JUMP JUMPDEST SWAP2 POP PUSH2 0x31D2 DUP4 PUSH2 0x32AA JUMP JUMPDEST SWAP3 POP DUP2 PUSH32 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DIV DUP4 GT DUP3 ISZERO ISZERO AND ISZERO PUSH2 0x320B JUMPI PUSH2 0x320A PUSH2 0x33D8 JUMP JUMPDEST JUMPDEST DUP3 DUP3 MUL SWAP1 POP SWAP3 SWAP2 POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3221 DUP3 PUSH2 0x328A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 ISZERO ISZERO SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH32 0xFFFFFFFF00000000000000000000000000000000000000000000000000000000 DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP PUSH2 0x3278 DUP3 PUSH2 0x372C JUMP JUMPDEST SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 PUSH1 0x7 SIGNEXTEND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH20 0xFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 DUP2 SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0xFF DUP3 AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32CC DUP3 PUSH2 0x32D3 JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32DE DUP3 PUSH2 0x328A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x32F0 DUP3 PUSH2 0x326A JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3302 DUP3 PUSH2 0x327D JUMP JUMPDEST SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST DUP3 DUP2 DUP4 CALLDATACOPY PUSH1 0x0 DUP4 DUP4 ADD MSTORE POP POP POP JUMP JUMPDEST PUSH1 0x0 JUMPDEST DUP4 DUP2 LT ISZERO PUSH2 0x3336 JUMPI DUP1 DUP3 ADD MLOAD DUP2 DUP5 ADD MSTORE PUSH1 0x20 DUP2 ADD SWAP1 POP PUSH2 0x331B JUMP JUMPDEST DUP4 DUP2 GT ISZERO PUSH2 0x3345 JUMPI PUSH1 0x0 DUP5 DUP5 ADD MSTORE JUMPDEST POP POP POP POP JUMP JUMPDEST PUSH1 0x0 PUSH2 0x3356 DUP3 PUSH2 0x32AA JUMP JUMPDEST SWAP2 POP PUSH1 0x0 DUP3 EQ ISZERO PUSH2 0x336A JUMPI PUSH2 0x3369 PUSH2 0x33D8 JUMP JUMPDEST JUMPDEST PUSH1 0x1 DUP3 SUB SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH1 0x0 PUSH1 0x2 DUP3 DIV SWAP1 POP PUSH1 0x1 DUP3 AND DUP1 PUSH2 0x338D JUMPI PUSH1 0x7F DUP3 AND SWAP2 POP JUMPDEST PUSH1 0x20 DUP3 LT DUP2 EQ ISZERO PUSH2 0x33A1 JUMPI PUSH2 0x33A0 PUSH2 0x3436 JUMP JUMPDEST JUMPDEST POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH2 0x33B0 DUP3 PUSH2 0x3494 JUMP JUMPDEST DUP2 ADD DUP2 DUP2 LT PUSH8 0xFFFFFFFFFFFFFFFF DUP3 GT OR ISZERO PUSH2 0x33CF JUMPI PUSH2 0x33CE PUSH2 0x3465 JUMP JUMPDEST JUMPDEST DUP1 PUSH1 0x40 MSTORE POP POP POP JUMP JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x11 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x21 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x22 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH32 0x4E487B7100000000000000000000000000000000000000000000000000000000 PUSH1 0x0 MSTORE PUSH1 0x41 PUSH1 0x4 MSTORE PUSH1 0x24 PUSH1 0x0 REVERT JUMPDEST PUSH1 0x0 PUSH1 0x1F NOT PUSH1 0x1F DUP4 ADD AND SWAP1 POP SWAP2 SWAP1 POP JUMP JUMPDEST PUSH32 0x537472696E67733A20686578206C656E67746820696E73756666696369656E74 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x5573657220646964206E6F742072656769737472656420696E20544750000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A206E6577206F776E657220697320746865207A65726F2061 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6464726573730000000000000000000000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x556E61626C6520746F207472616E736665722066656500000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x50617373706F727420666565206973206E6F7420706169640000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x746869732063686174207467696420616C72656164792074616B656E00000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x436F6E747261637420646F6573206E6F74206D61746368207769746820636F72 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x726573706F6E64696E6720747970650000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x4F776E61626C653A2063616C6C6572206973206E6F7420746865206F776E6572 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A206163636F756E7420000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x616C726561647920686173206265656E20617070726F766564204F5220646964 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x6E2774206170706C69656420617420616C6C0000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x206973206D697373696E6720726F6C6520000000000000000000000000000000 PUSH1 0x0 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH32 0x416363657373436F6E74726F6C3A2063616E206F6E6C792072656E6F756E6365 PUSH1 0x0 DUP3 ADD MSTORE PUSH32 0x20726F6C657320666F722073656C660000000000000000000000000000000000 PUSH1 0x20 DUP3 ADD MSTORE POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x373D JUMPI PUSH2 0x373C PUSH2 0x3407 JUMP JUMPDEST JUMPDEST POP JUMP JUMPDEST PUSH2 0x3749 DUP2 PUSH2 0x3216 JUMP JUMPDEST DUP2 EQ PUSH2 0x3754 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3760 DUP2 PUSH2 0x3228 JUMP JUMPDEST DUP2 EQ PUSH2 0x376B JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x3777 DUP2 PUSH2 0x3234 JUMP JUMPDEST DUP2 EQ PUSH2 0x3782 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x378E DUP2 PUSH2 0x323E JUMP JUMPDEST DUP2 EQ PUSH2 0x3799 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH1 0x3 DUP2 LT PUSH2 0x37A9 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x37B5 DUP2 PUSH2 0x327D JUMP JUMPDEST DUP2 EQ PUSH2 0x37C0 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x37CC DUP2 PUSH2 0x32AA JUMP JUMPDEST DUP2 EQ PUSH2 0x37D7 JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP JUMPDEST PUSH2 0x37E3 DUP2 PUSH2 0x32B4 JUMP JUMPDEST DUP2 EQ PUSH2 0x37EE JUMPI PUSH1 0x0 DUP1 REVERT JUMPDEST POP JUMP INVALID LOG2 PUSH5 0x6970667358 0x22 SLT KECCAK256 ADDRESS 0xE1 0xBA SWAP6 0xA9 0xD2 0xBF 0xE3 LOG4 0xD5 0x5D 0x1E NOT CALLDATACOPY SWAP12 0xC5 0xE9 BALANCE OR PUSH22 0xD284DC084A397076AD7025464736F6C634300080400 CALLER ", + "sourceMap": "1177:6518:13:-:0;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;2620:202:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4008:129;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4387:145;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;5404:214;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;6141:441:13;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;1483:58;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7601:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1668:101:2;;;;;;;;;;;;;:::i;:::-;;3289:28:13;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1036:85:2;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2909:145:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;2027:49;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;5572:426:13;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;4034:1319;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3208:35;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;;;;;;;:::i;:::-;;;;;;;;7506:91;;;;;;;;;;;;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;4766:147:0;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;3081:28:13;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;3028:46;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;7353:148;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;;;;;;:::i;:::-;;;;;;;;1918:198:2;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;:::i;:::-;;2620:202:0;2705:4;2743:32;2728:47;;;:11;:47;;;;:87;;;;2779:36;2803:11;2779:23;:36::i;:::-;2728:87;2721:94;;2620:202;;;:::o;4008:129::-;4082:7;4108:6;:12;4115:4;4108:12;;;;;;;;;;;:22;;;4101:29;;4008:129;;;:::o;4387:145::-;4470:18;4483:4;4470:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4500:25:::1;4511:4;4517:7;4500:10;:25::i;:::-;4387:145:::0;;;:::o;5404:214::-;5510:12;:10;:12::i;:::-;5499:23;;:7;:23;;;5491:83;;;;;;;;;;;;:::i;:::-;;;;;;;;;5585:26;5597:4;5603:7;5585:11;:26::i;:::-;5404:214;;:::o;6141:441:13:-;1519:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;6219:14:13::1;6236:4;:16;6241:10;6236:16;;;;;;;;;;;;;;;6219:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;6283:5;6270:18;;:3;:9;;;:18;;;6262:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;6360:4;:16;6365:10;6360:16;;;;;;;;;;;;;;;;6353:23:::0;::::1;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;6393:12;:22;6406:3;:8;;;6393:22;;;;;;;;;;;;;;;;6386:29;;;;;;;;;;;6479:96;6499:3;:8;;;6508:3;:19;;;6528:3;:14;;;6543:3;:15;;;6560:3;:14;;;6479:96;;;;;;;;;;:::i;:::-;;;;;;;;2545:1:0;6141:441:13::0;;:::o;1483:58::-;1519:22;1483:58;:::o;7601:91::-;7656:7;1519:22;7671:16;;7601:91;:::o;1668:101:2:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;1732:30:::1;1759:1;1732:18;:30::i;:::-;1668:101::o:0;3289:28:13:-;;;;;;;;;;;;;:::o;1036:85:2:-;1082:7;1108:6;;;;;;;;;;;1101:13;;1036:85;:::o;2909:145:0:-;2995:4;3018:6;:12;3025:4;3018:12;;;;;;;;;;;:20;;:29;3039:7;3018:29;;;;;;;;;;;;;;;;;;;;;;;;;3011:36;;2909:145;;;;:::o;2027:49::-;2072:4;2027:49;;;:::o;5572:426:13:-;1519:22;2505:30:0;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;5648:14:13::1;5665:4;:16;5670:10;5665:16;;;;;;;;;;;;;;;5648:33;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;::::0;::::1;;;5710:5;5697:18;;:3;:9;;;:18;;;5689:81;;;;;;;;;;;;:::i;:::-;;;;;;;;;5790:4;5778:3;:9;;:16;;;;;;;;;::::0;::::1;5821:3;5802:4;:16;5807:10;5802:16;;;;;;;;;;;;;;;:22;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;5832:21;:9;:19;:21::i;:::-;5861:13;5880:3;:8;;;5861:28;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;5902:89;5915:3;:8;;;5924:3;:19;;;5944:3;:14;;;5959:3;:15;;;5976:3;:14;;;5902:89;;;;;;;;;;:::i;:::-;;;;;;;;2545:1:0;5572:426:13::0;;:::o;4034:1319::-;4371:16;4390:10;;;;;;;;;;;:32;;;4423:9;4390:43;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4371:62;;4463:10;4451:22;;:8;:22;;;4443:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;4554:3;4523:35;;:12;:19;4536:5;4523:19;;;;;;;;;;;;;;;;;;;;;;;;;:35;;;4515:76;;;;;;;;;;;;:::i;:::-;;;;;;;;;4621:4;4599:12;:19;4612:5;4599:19;;;;;;;;;;;;;;;;:26;;;;;;;;;;;;;;;;;;4639:18;4660:60;4686:11;4699:20;4660:25;:60::i;:::-;4639:81;;4753:4;4736:21;;:13;:21;;;4728:80;;;;;;;;;;;;:::i;:::-;;;;;;;;;4832:10;;;;;;;;;;;:25;;;:27;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;4817:12;:42;;;;4880:81;;;;;;;;4884:10;4880:81;;;;;;4896:5;4880:81;;;;;;4903:5;4880:81;;;;;;4910:4;4880:81;;;;;;4916:11;4880:81;;;;;;;;;;;;;;;;;;;;4929:20;4880:81;;;;;;4951:9;4880:81;;;4867:4;:10;4872:4;4867:10;;;;;;;;;;;;;;;:94;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;4970:12;4987:6;;;;;;;;;;;:11;;5006:12;;4987:36;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;4969:54;;;5041:7;5033:42;;;;;;;;;;;;:::i;:::-;;;;;;;;;5105:12;;5092:9;:25;5083:63;;;;;;;;;;;;:::i;:::-;;;;;;;;;5159:84;5178:5;5184:9;5194:4;5199:11;5211:20;5233:9;5159:84;;;;;;;;;;;:::i;:::-;;;;;;;;5282:5;5256:91;;;5288:9;5298:4;5303:11;5315:20;5337:9;5256:91;;;;;;;;;;:::i;:::-;;;;;;;;4034:1319;;;;;;;;;:::o;3208:35::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;7506:91::-;7550:7;7573:19;:9;:17;:19::i;:::-;7566:26;;7506:91;:::o;4766:147:0:-;4850:18;4863:4;4850:12;:18::i;:::-;2505:30;2516:4;2522:12;:10;:12::i;:::-;2505:10;:30::i;:::-;4880:26:::1;4892:4;4898:7;4880:11;:26::i;:::-;4766:147:::0;;;:::o;3081:28:13:-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::o;3028:46::-;;;;;;;;;;;;;;;;;;;;;;:::o;7353:148::-;7420:7;7439:11;7453:12;:21;7466:7;7453:21;;;;;;;;;;;;;;;;;;;;;;;;;7439:35;;7491:3;7484:10;;;7353:148;;;:::o;1918:198:2:-;1259:12;:10;:12::i;:::-;1248:23;;:7;:5;:7::i;:::-;:23;;;1240:68;;;;;;;;;;;;:::i;:::-;;;;;;;;;2026:1:::1;2006:22;;:8;:22;;;;1998:73;;;;;;;;;;;;:::i;:::-;;;;;;;;;2081:28;2100:8;2081:18;:28::i;:::-;1918:198:::0;:::o;829:155:10:-;914:4;952:25;937:40;;;:11;:40;;;;930:47;;829:155;;;:::o;640:96:7:-;693:7;719:10;712:17;;640:96;:::o;3335:492:0:-;3423:22;3431:4;3437:7;3423;:22::i;:::-;3418:403;;3606:41;3634:7;3606:41;;3644:2;3606:19;:41::i;:::-;3718:38;3746:4;3738:13;;3753:2;3718:19;:38::i;:::-;3513:265;;;;;;;;;:::i;:::-;;;;;;;;;;;;;3461:349;;;;;;;;;;;:::i;:::-;;;;;;;;3418:403;3335:492;;:::o;6861:233::-;6944:22;6952:4;6958:7;6944;:22::i;:::-;6939:149;;7014:4;6982:6;:12;6989:4;6982:12;;;;;;;;;;;:20;;:29;7003:7;6982:29;;;;;;;;;;;;;;;;:36;;;;;;;;;;;;;;;;;;7064:12;:10;:12::i;:::-;7037:40;;7055:7;7037:40;;7049:4;7037:40;;;;;;;;;;6939:149;6861:233;;:::o;7219:234::-;7302:22;7310:4;7316:7;7302;:22::i;:::-;7298:149;;;7372:5;7340:6;:12;7347:4;7340:12;;;;;;;;;;;:20;;:29;7361:7;7340:29;;;;;;;;;;;;;;;;:37;;;;;;;;;;;;;;;;;;7423:12;:10;:12::i;:::-;7396:40;;7414:7;7396:40;;7408:4;7396:40;;;;;;;;;;7298:149;7219:234;;:::o;2270:187:2:-;2343:16;2362:6;;;;;;;;;;;2343:25;;2387:8;2378:6;;:17;;;;;;;;;;;;;;;;;;2441:8;2410:40;;2431:8;2410:40;;;;;;;;;;;;2270:187;;:::o;945:123:8:-;1050:1;1032:7;:14;;;:19;;;;;;;;;;;945:123;:::o;6683:605:13:-;6796:12;6837:17;6822:32;;;;;;;;;;;;;;;;:11;:32;;;;;;;;;;;;;;;;;6818:194;;;6894:20;6876:68;;;1466:10;6945:31;;6876:101;;;;;;;;;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;6864:113;;6989:14;;6818:194;7038:16;7023:31;;;;;;;;;;;;;;;;:11;:31;;;;;;;;;;;;;;;;;7019:224;;;7232:2;7196:20;7181:45;;;:47;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;:53;;;7169:65;;7019:224;6683:605;;;;;:::o;827:112:8:-;892:7;918;:14;;;911:21;;827:112;;;:::o;1588:441:9:-;1663:13;1688:19;1733:1;1724:6;1720:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1710:25;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;1688:47;;1745:15;:6;1752:1;1745:9;;;;;;;;;;;;;;;;;;;:15;;;;;;;;;;;1770;:6;1777:1;1770:9;;;;;;;;;;;;;;;;;;;:15;;;;;;;;;;;1800:9;1825:1;1816:6;1812:1;:10;;;;:::i;:::-;:14;;;;:::i;:::-;1800:26;;1795:132;1832:1;1828;:5;1795:132;;;1866:12;1887:3;1879:5;:11;1866:25;;;;;;;;;;;;;;;;;;1854:6;1861:1;1854:9;;;;;;;;;;;;;;;;;;;:37;;;;;;;;;;;1915:1;1905:11;;;;;1835:3;;;;:::i;:::-;;;1795:132;;;;1953:1;1944:5;:10;1936:55;;;;;;;;;;;;:::i;:::-;;;;;;;;;2015:6;2001:21;;;1588:441;;;;:::o;-1:-1:-1:-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;:::i;:::-;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;:::i;:::-;;;:::o;:::-;;;;;;;;;;;;;;;;;;;;;:::o;7:345:14:-;85:5;110:66;126:49;168:6;126:49;:::i;:::-;110:66;:::i;:::-;101:75;;199:6;192:5;185:21;237:4;230:5;226:16;275:3;266:6;261:3;257:16;254:25;251:2;;;292:1;289;282:12;251:2;305:41;339:6;334:3;329;305:41;:::i;:::-;91:261;;;;;;:::o;358:139::-;404:5;442:6;429:20;420:29;;458:33;485:5;458:33;:::i;:::-;410:87;;;;:::o;503:143::-;560:5;591:6;585:13;576:22;;607:33;634:5;607:33;:::i;:::-;566:80;;;;:::o;652:137::-;706:5;737:6;731:13;722:22;;753:30;777:5;753:30;:::i;:::-;712:77;;;;:::o;795:139::-;841:5;879:6;866:20;857:29;;895:33;922:5;895:33;:::i;:::-;847:87;;;;:::o;940:137::-;985:5;1023:6;1010:20;1001:29;;1039:32;1065:5;1039:32;:::i;:::-;991:86;;;;:::o;1083:169::-;1144:5;1182:6;1169:20;1160:29;;1198:48;1240:5;1198:48;:::i;:::-;1150:102;;;;:::o;1258:135::-;1302:5;1340:6;1327:20;1318:29;;1356:31;1381:5;1356:31;:::i;:::-;1308:85;;;;:::o;1413:273::-;1469:5;1518:3;1511:4;1503:6;1499:17;1495:27;1485:2;;1536:1;1533;1526:12;1485:2;1576:6;1563:20;1601:79;1676:3;1668:6;1661:4;1653:6;1649:17;1601:79;:::i;:::-;1592:88;;1475:211;;;;;:::o;1692:139::-;1738:5;1776:6;1763:20;1754:29;;1792:33;1819:5;1792:33;:::i;:::-;1744:87;;;;:::o;1837:143::-;1894:5;1925:6;1919:13;1910:22;;1941:33;1968:5;1941:33;:::i;:::-;1900:80;;;;:::o;1986:139::-;2041:5;2072:6;2066:13;2057:22;;2088:31;2113:5;2088:31;:::i;:::-;2047:78;;;;:::o;2131:262::-;2190:6;2239:2;2227:9;2218:7;2214:23;2210:32;2207:2;;;2255:1;2252;2245:12;2207:2;2298:1;2323:53;2368:7;2359:6;2348:9;2344:22;2323:53;:::i;:::-;2313:63;;2269:117;2197:196;;;;:::o;2399:284::-;2469:6;2518:2;2506:9;2497:7;2493:23;2489:32;2486:2;;;2534:1;2531;2524:12;2486:2;2577:1;2602:64;2658:7;2649:6;2638:9;2634:22;2602:64;:::i;:::-;2592:74;;2548:128;2476:207;;;;:::o;2689:278::-;2756:6;2805:2;2793:9;2784:7;2780:23;2776:32;2773:2;;;2821:1;2818;2811:12;2773:2;2864:1;2889:61;2942:7;2933:6;2922:9;2918:22;2889:61;:::i;:::-;2879:71;;2835:125;2763:204;;;;:::o;2973:262::-;3032:6;3081:2;3069:9;3060:7;3056:23;3052:32;3049:2;;;3097:1;3094;3087:12;3049:2;3140:1;3165:53;3210:7;3201:6;3190:9;3186:22;3165:53;:::i;:::-;3155:63;;3111:117;3039:196;;;;:::o;3241:407::-;3309:6;3317;3366:2;3354:9;3345:7;3341:23;3337:32;3334:2;;;3382:1;3379;3372:12;3334:2;3425:1;3450:53;3495:7;3486:6;3475:9;3471:22;3450:53;:::i;:::-;3440:63;;3396:117;3552:2;3578:53;3623:7;3614:6;3603:9;3599:22;3578:53;:::i;:::-;3568:63;;3523:118;3324:324;;;;;:::o;3654:260::-;3712:6;3761:2;3749:9;3740:7;3736:23;3732:32;3729:2;;;3777:1;3774;3767:12;3729:2;3820:1;3845:52;3889:7;3880:6;3869:9;3865:22;3845:52;:::i;:::-;3835:62;;3791:116;3719:195;;;;:::o;3920:258::-;3977:6;4026:2;4014:9;4005:7;4001:23;3997:32;3994:2;;;4042:1;4039;4032:12;3994:2;4085:1;4110:51;4153:7;4144:6;4133:9;4129:22;4110:51;:::i;:::-;4100:61;;4056:115;3984:194;;;;:::o;4184:1125::-;4309:6;4317;4325;4333;4341;4349;4398:3;4386:9;4377:7;4373:23;4369:33;4366:2;;;4415:1;4412;4405:12;4366:2;4458:1;4483:51;4526:7;4517:6;4506:9;4502:22;4483:51;:::i;:::-;4473:61;;4429:115;4583:2;4609:51;4652:7;4643:6;4632:9;4628:22;4609:51;:::i;:::-;4599:61;;4554:116;4709:2;4735:53;4780:7;4771:6;4760:9;4756:22;4735:53;:::i;:::-;4725:63;;4680:118;4837:2;4863:68;4923:7;4914:6;4903:9;4899:22;4863:68;:::i;:::-;4853:78;;4808:133;4980:3;5007:53;5052:7;5043:6;5032:9;5028:22;5007:53;:::i;:::-;4997:63;;4951:119;5137:3;5126:9;5122:19;5109:33;5169:18;5161:6;5158:30;5155:2;;;5201:1;5198;5191:12;5155:2;5229:63;5284:7;5275:6;5264:9;5260:22;5229:63;:::i;:::-;5219:73;;5080:222;4356:953;;;;;;;;:::o;5315:262::-;5374:6;5423:2;5411:9;5402:7;5398:23;5394:32;5391:2;;;5439:1;5436;5429:12;5391:2;5482:1;5507:53;5552:7;5543:6;5532:9;5528:22;5507:53;:::i;:::-;5497:63;;5453:117;5381:196;;;;:::o;5583:284::-;5653:6;5702:2;5690:9;5681:7;5677:23;5673:32;5670:2;;;5718:1;5715;5708:12;5670:2;5761:1;5786:64;5842:7;5833:6;5822:9;5818:22;5786:64;:::i;:::-;5776:74;;5732:128;5660:207;;;;:::o;5873:280::-;5941:6;5990:2;5978:9;5969:7;5965:23;5961:32;5958:2;;;6006:1;6003;5996:12;5958:2;6049:1;6074:62;6128:7;6119:6;6108:9;6104:22;6074:62;:::i;:::-;6064:72;;6020:126;5948:205;;;;:::o;6159:118::-;6246:24;6264:5;6246:24;:::i;:::-;6241:3;6234:37;6224:53;;:::o;6283:109::-;6364:21;6379:5;6364:21;:::i;:::-;6359:3;6352:34;6342:50;;:::o;6398:118::-;6485:24;6503:5;6485:24;:::i;:::-;6480:3;6473:37;6463:53;;:::o;6522:115::-;6607:23;6624:5;6607:23;:::i;:::-;6602:3;6595:36;6585:52;;:::o;6643:169::-;6749:56;6799:5;6749:56;:::i;:::-;6744:3;6737:69;6727:85;;:::o;6818:157::-;6918:50;6962:5;6918:50;:::i;:::-;6913:3;6906:63;6896:79;;:::o;6981:125::-;7065:34;7093:5;7065:34;:::i;:::-;7060:3;7053:47;7043:63;;:::o;7112:112::-;7195:22;7211:5;7195:22;:::i;:::-;7190:3;7183:35;7173:51;;:::o;7230:364::-;7318:3;7346:39;7379:5;7346:39;:::i;:::-;7401:71;7465:6;7460:3;7401:71;:::i;:::-;7394:78;;7481:52;7526:6;7521:3;7514:4;7507:5;7503:16;7481:52;:::i;:::-;7558:29;7580:6;7558:29;:::i;:::-;7553:3;7549:39;7542:46;;7322:272;;;;;:::o;7600:377::-;7706:3;7734:39;7767:5;7734:39;:::i;:::-;7789:89;7871:6;7866:3;7789:89;:::i;:::-;7782:96;;7887:52;7932:6;7927:3;7920:4;7913:5;7909:16;7887:52;:::i;:::-;7964:6;7959:3;7955:16;7948:23;;7710:267;;;;;:::o;7983:366::-;8125:3;8146:67;8210:2;8205:3;8146:67;:::i;:::-;8139:74;;8222:93;8311:3;8222:93;:::i;:::-;8340:2;8335:3;8331:12;8324:19;;8129:220;;;:::o;8355:366::-;8497:3;8518:67;8582:2;8577:3;8518:67;:::i;:::-;8511:74;;8594:93;8683:3;8594:93;:::i;:::-;8712:2;8707:3;8703:12;8696:19;;8501:220;;;:::o;8727:366::-;8869:3;8890:67;8954:2;8949:3;8890:67;:::i;:::-;8883:74;;8966:93;9055:3;8966:93;:::i;:::-;9084:2;9079:3;9075:12;9068:19;;8873:220;;;:::o;9099:366::-;9241:3;9262:67;9326:2;9321:3;9262:67;:::i;:::-;9255:74;;9338:93;9427:3;9338:93;:::i;:::-;9456:2;9451:3;9447:12;9440:19;;9245:220;;;:::o;9471:366::-;9613:3;9634:67;9698:2;9693:3;9634:67;:::i;:::-;9627:74;;9710:93;9799:3;9710:93;:::i;:::-;9828:2;9823:3;9819:12;9812:19;;9617:220;;;:::o;9843:366::-;9985:3;10006:67;10070:2;10065:3;10006:67;:::i;:::-;9999:74;;10082:93;10171:3;10082:93;:::i;:::-;10200:2;10195:3;10191:12;10184:19;;9989:220;;;:::o;10215:366::-;10357:3;10378:67;10442:2;10437:3;10378:67;:::i;:::-;10371:74;;10454:93;10543:3;10454:93;:::i;:::-;10572:2;10567:3;10563:12;10556:19;;10361:220;;;:::o;10587:366::-;10729:3;10750:67;10814:2;10809:3;10750:67;:::i;:::-;10743:74;;10826:93;10915:3;10826:93;:::i;:::-;10944:2;10939:3;10935:12;10928:19;;10733:220;;;:::o;10959:398::-;11118:3;11139:83;11220:1;11215:3;11139:83;:::i;:::-;11132:90;;11231:93;11320:3;11231:93;:::i;:::-;11349:1;11344:3;11340:11;11333:18;;11122:235;;;:::o;11363:402::-;11523:3;11544:85;11626:2;11621:3;11544:85;:::i;:::-;11537:92;;11638:93;11727:3;11638:93;:::i;:::-;11756:2;11751:3;11747:12;11740:19;;11527:238;;;:::o;11771:366::-;11913:3;11934:67;11998:2;11993:3;11934:67;:::i;:::-;11927:74;;12010:93;12099:3;12010:93;:::i;:::-;12128:2;12123:3;12119:12;12112:19;;11917:220;;;:::o;12143:402::-;12303:3;12324:85;12406:2;12401:3;12324:85;:::i;:::-;12317:92;;12418:93;12507:3;12418:93;:::i;:::-;12536:2;12531:3;12527:12;12520:19;;12307:238;;;:::o;12551:366::-;12693:3;12714:67;12778:2;12773:3;12714:67;:::i;:::-;12707:74;;12790:93;12879:3;12790:93;:::i;:::-;12908:2;12903:3;12899:12;12892:19;;12697:220;;;:::o;12923:118::-;13010:24;13028:5;13010:24;:::i;:::-;13005:3;12998:37;12988:53;;:::o;13047:379::-;13231:3;13253:147;13396:3;13253:147;:::i;:::-;13246:154;;13417:3;13410:10;;13235:191;;;:::o;13432:967::-;13814:3;13836:148;13980:3;13836:148;:::i;:::-;13829:155;;14001:95;14092:3;14083:6;14001:95;:::i;:::-;13994:102;;14113:148;14257:3;14113:148;:::i;:::-;14106:155;;14278:95;14369:3;14360:6;14278:95;:::i;:::-;14271:102;;14390:3;14383:10;;13818:581;;;;;:::o;14405:222::-;14498:4;14536:2;14525:9;14521:18;14513:26;;14549:71;14617:1;14606:9;14602:17;14593:6;14549:71;:::i;:::-;14503:124;;;;:::o;14633:983::-;14917:4;14955:3;14944:9;14940:19;14932:27;;14969:71;15037:1;15026:9;15022:17;15013:6;14969:71;:::i;:::-;15050:68;15114:2;15103:9;15099:18;15090:6;15050:68;:::i;:::-;15128:66;15190:2;15179:9;15175:18;15166:6;15128:66;:::i;:::-;15204:72;15272:2;15261:9;15257:18;15248:6;15204:72;:::i;:::-;15286:86;15367:3;15356:9;15352:19;15343:6;15286:86;:::i;:::-;15382:73;15450:3;15439:9;15435:19;15426:6;15382:73;:::i;:::-;15503:9;15497:4;15493:20;15487:3;15476:9;15472:19;15465:49;15531:78;15604:4;15595:6;15531:78;:::i;:::-;15523:86;;14922:694;;;;;;;;;;:::o;15622:210::-;15709:4;15747:2;15736:9;15732:18;15724:26;;15760:65;15822:1;15811:9;15807:17;15798:6;15760:65;:::i;:::-;15714:118;;;;:::o;15838:222::-;15931:4;15969:2;15958:9;15954:18;15946:26;;15982:71;16050:1;16039:9;16035:17;16026:6;15982:71;:::i;:::-;15936:124;;;;:::o;16066:218::-;16157:4;16195:2;16184:9;16180:18;16172:26;;16208:69;16274:1;16263:9;16259:17;16250:6;16208:69;:::i;:::-;16162:122;;;;:::o;16290:260::-;16402:4;16440:2;16429:9;16425:18;16417:26;;16453:90;16540:1;16529:9;16525:17;16516:6;16453:90;:::i;:::-;16407:143;;;;:::o;16556:214::-;16645:4;16683:2;16672:9;16668:18;16660:26;;16696:67;16760:1;16749:9;16745:17;16736:6;16696:67;:::i;:::-;16650:120;;;;:::o;16776:775::-;17011:4;17049:3;17038:9;17034:19;17026:27;;17063:68;17128:1;17117:9;17113:17;17104:6;17063:68;:::i;:::-;17141:72;17209:2;17198:9;17194:18;17185:6;17141:72;:::i;:::-;17223:85;17304:2;17293:9;17289:18;17280:6;17223:85;:::i;:::-;17318:72;17386:2;17375:9;17371:18;17362:6;17318:72;:::i;:::-;17438:9;17432:4;17428:20;17422:3;17411:9;17407:19;17400:49;17466:78;17539:4;17530:6;17466:78;:::i;:::-;17458:86;;17016:535;;;;;;;;:::o;17557:773::-;17791:4;17829:3;17818:9;17814:19;17806:27;;17843:67;17907:1;17896:9;17892:17;17883:6;17843:67;:::i;:::-;17920:72;17988:2;17977:9;17973:18;17964:6;17920:72;:::i;:::-;18002:85;18083:2;18072:9;18068:18;18059:6;18002:85;:::i;:::-;18097:72;18165:2;18154:9;18150:18;18141:6;18097:72;:::i;:::-;18217:9;18211:4;18207:20;18201:3;18190:9;18186:19;18179:49;18245:78;18318:4;18309:6;18245:78;:::i;:::-;18237:86;;17796:534;;;;;;;;:::o;18336:876::-;18594:4;18632:3;18621:9;18617:19;18609:27;;18646:67;18710:1;18699:9;18695:17;18686:6;18646:67;:::i;:::-;18723:68;18787:2;18776:9;18772:18;18763:6;18723:68;:::i;:::-;18801:72;18869:2;18858:9;18854:18;18845:6;18801:72;:::i;:::-;18883:85;18964:2;18953:9;18949:18;18940:6;18883:85;:::i;:::-;18978:73;19046:3;19035:9;19031:19;19022:6;18978:73;:::i;:::-;19099:9;19093:4;19089:20;19083:3;19072:9;19068:19;19061:49;19127:78;19200:4;19191:6;19127:78;:::i;:::-;19119:86;;18599:613;;;;;;;;;:::o;19218:313::-;19331:4;19369:2;19358:9;19354:18;19346:26;;19418:9;19412:4;19408:20;19404:1;19393:9;19389:17;19382:47;19446:78;19519:4;19510:6;19446:78;:::i;:::-;19438:86;;19336:195;;;;:::o;19537:419::-;19703:4;19741:2;19730:9;19726:18;19718:26;;19790:9;19784:4;19780:20;19776:1;19765:9;19761:17;19754:47;19818:131;19944:4;19818:131;:::i;:::-;19810:139;;19708:248;;;:::o;19962:419::-;20128:4;20166:2;20155:9;20151:18;20143:26;;20215:9;20209:4;20205:20;20201:1;20190:9;20186:17;20179:47;20243:131;20369:4;20243:131;:::i;:::-;20235:139;;20133:248;;;:::o;20387:419::-;20553:4;20591:2;20580:9;20576:18;20568:26;;20640:9;20634:4;20630:20;20626:1;20615:9;20611:17;20604:47;20668:131;20794:4;20668:131;:::i;:::-;20660:139;;20558:248;;;:::o;20812:419::-;20978:4;21016:2;21005:9;21001:18;20993:26;;21065:9;21059:4;21055:20;21051:1;21040:9;21036:17;21029:47;21093:131;21219:4;21093:131;:::i;:::-;21085:139;;20983:248;;;:::o;21237:419::-;21403:4;21441:2;21430:9;21426:18;21418:26;;21490:9;21484:4;21480:20;21476:1;21465:9;21461:17;21454:47;21518:131;21644:4;21518:131;:::i;:::-;21510:139;;21408:248;;;:::o;21662:419::-;21828:4;21866:2;21855:9;21851:18;21843:26;;21915:9;21909:4;21905:20;21901:1;21890:9;21886:17;21879:47;21943:131;22069:4;21943:131;:::i;:::-;21935:139;;21833:248;;;:::o;22087:419::-;22253:4;22291:2;22280:9;22276:18;22268:26;;22340:9;22334:4;22330:20;22326:1;22315:9;22311:17;22304:47;22368:131;22494:4;22368:131;:::i;:::-;22360:139;;22258:248;;;:::o;22512:419::-;22678:4;22716:2;22705:9;22701:18;22693:26;;22765:9;22759:4;22755:20;22751:1;22740:9;22736:17;22729:47;22793:131;22919:4;22793:131;:::i;:::-;22785:139;;22683:248;;;:::o;22937:419::-;23103:4;23141:2;23130:9;23126:18;23118:26;;23190:9;23184:4;23180:20;23176:1;23165:9;23161:17;23154:47;23218:131;23344:4;23218:131;:::i;:::-;23210:139;;23108:248;;;:::o;23362:419::-;23528:4;23566:2;23555:9;23551:18;23543:26;;23615:9;23609:4;23605:20;23601:1;23590:9;23586:17;23579:47;23643:131;23769:4;23643:131;:::i;:::-;23635:139;;23533:248;;;:::o;23787:222::-;23880:4;23918:2;23907:9;23903:18;23895:26;;23931:71;23999:1;23988:9;23984:17;23975:6;23931:71;:::i;:::-;23885:124;;;;:::o;24015:129::-;24049:6;24076:20;;:::i;:::-;24066:30;;24105:33;24133:4;24125:6;24105:33;:::i;:::-;24056:88;;;:::o;24150:75::-;24183:6;24216:2;24210:9;24200:19;;24190:35;:::o;24231:308::-;24293:4;24383:18;24375:6;24372:30;24369:2;;;24405:18;;:::i;:::-;24369:2;24443:29;24465:6;24443:29;:::i;:::-;24435:37;;24527:4;24521;24517:15;24509:23;;24298:241;;;:::o;24545:99::-;24597:6;24631:5;24625:12;24615:22;;24604:40;;;:::o;24650:147::-;24751:11;24788:3;24773:18;;24763:34;;;;:::o;24803:169::-;24887:11;24921:6;24916:3;24909:19;24961:4;24956:3;24952:14;24937:29;;24899:73;;;;:::o;24978:148::-;25080:11;25117:3;25102:18;;25092:34;;;;:::o;25132:305::-;25172:3;25191:20;25209:1;25191:20;:::i;:::-;25186:25;;25225:20;25243:1;25225:20;:::i;:::-;25220:25;;25379:1;25311:66;25307:74;25304:1;25301:81;25298:2;;;25385:18;;:::i;:::-;25298:2;25429:1;25426;25422:9;25415:16;;25176:261;;;;:::o;25443:348::-;25483:7;25506:20;25524:1;25506:20;:::i;:::-;25501:25;;25540:20;25558:1;25540:20;:::i;:::-;25535:25;;25728:1;25660:66;25656:74;25653:1;25650:81;25645:1;25638:9;25631:17;25627:105;25624:2;;;25735:18;;:::i;:::-;25624:2;25783:1;25780;25776:9;25765:20;;25491:300;;;;:::o;25797:96::-;25834:7;25863:24;25881:5;25863:24;:::i;:::-;25852:35;;25842:51;;;:::o;25899:90::-;25933:7;25976:5;25969:13;25962:21;25951:32;;25941:48;;;:::o;25995:77::-;26032:7;26061:5;26050:16;;26040:32;;;:::o;26078:149::-;26114:7;26154:66;26147:5;26143:78;26132:89;;26122:105;;;:::o;26233:141::-;26285:7;26314:5;26303:16;;26320:48;26362:5;26320:48;:::i;:::-;26293:81;;;:::o;26380:90::-;26415:7;26458:5;26455:1;26444:20;26433:31;;26423:47;;;:::o;26476:126::-;26513:7;26553:42;26546:5;26542:54;26531:65;;26521:81;;;:::o;26608:77::-;26645:7;26674:5;26663:16;;26653:32;;;:::o;26691:86::-;26726:7;26766:4;26759:5;26755:16;26744:27;;26734:43;;;:::o;26783:164::-;26852:9;26885:56;26935:5;26885:56;:::i;:::-;26872:69;;26862:85;;;:::o;26953:132::-;27022:9;27055:24;27073:5;27055:24;:::i;:::-;27042:37;;27032:53;;;:::o;27091:141::-;27154:9;27187:39;27220:5;27187:39;:::i;:::-;27174:52;;27164:68;;;:::o;27238:108::-;27285:9;27318:22;27334:5;27318:22;:::i;:::-;27305:35;;27295:51;;;:::o;27352:154::-;27436:6;27431:3;27426;27413:30;27498:1;27489:6;27484:3;27480:16;27473:27;27403:103;;;:::o;27512:307::-;27580:1;27590:113;27604:6;27601:1;27598:13;27590:113;;;27689:1;27684:3;27680:11;27674:18;27670:1;27665:3;27661:11;27654:39;27626:2;27623:1;27619:10;27614:15;;27590:113;;;27721:6;27718:1;27715:13;27712:2;;;27801:1;27792:6;27787:3;27783:16;27776:27;27712:2;27561:258;;;;:::o;27825:171::-;27864:3;27887:24;27905:5;27887:24;:::i;:::-;27878:33;;27933:4;27926:5;27923:15;27920:2;;;27941:18;;:::i;:::-;27920:2;27988:1;27981:5;27977:13;27970:20;;27868:128;;;:::o;28002:320::-;28046:6;28083:1;28077:4;28073:12;28063:22;;28130:1;28124:4;28120:12;28151:18;28141:2;;28207:4;28199:6;28195:17;28185:27;;28141:2;28269;28261:6;28258:14;28238:18;28235:38;28232:2;;;28288:18;;:::i;:::-;28232:2;28053:269;;;;:::o;28328:281::-;28411:27;28433:4;28411:27;:::i;:::-;28403:6;28399:40;28541:6;28529:10;28526:22;28505:18;28493:10;28490:34;28487:62;28484:2;;;28552:18;;:::i;:::-;28484:2;28592:10;28588:2;28581:22;28371:238;;;:::o;28615:180::-;28663:77;28660:1;28653:88;28760:4;28757:1;28750:15;28784:4;28781:1;28774:15;28801:180;28849:77;28846:1;28839:88;28946:4;28943:1;28936:15;28970:4;28967:1;28960:15;28987:180;29035:77;29032:1;29025:88;29132:4;29129:1;29122:15;29156:4;29153:1;29146:15;29173:180;29221:77;29218:1;29211:88;29318:4;29315:1;29308:15;29342:4;29339:1;29332:15;29359:102;29400:6;29451:2;29447:7;29442:2;29435:5;29431:14;29427:28;29417:38;;29407:54;;;:::o;29467:182::-;29607:34;29603:1;29595:6;29591:14;29584:58;29573:76;:::o;29655:179::-;29795:31;29791:1;29783:6;29779:14;29772:55;29761:73;:::o;29840:225::-;29980:34;29976:1;29968:6;29964:14;29957:58;30049:8;30044:2;30036:6;30032:15;30025:33;29946:119;:::o;30071:172::-;30211:24;30207:1;30199:6;30195:14;30188:48;30177:66;:::o;30249:174::-;30389:26;30385:1;30377:6;30373:14;30366:50;30355:68;:::o;30429:178::-;30569:30;30565:1;30557:6;30553:14;30546:54;30535:72;:::o;30613:234::-;30753:34;30749:1;30741:6;30737:14;30730:58;30822:17;30817:2;30809:6;30805:15;30798:42;30719:128;:::o;30853:182::-;30993:34;30989:1;30981:6;30977:14;30970:58;30959:76;:::o;31041:114::-;31147:8;:::o;31161:173::-;31301:25;31297:1;31289:6;31285:14;31278:49;31267:67;:::o;31340:237::-;31480:34;31476:1;31468:6;31464:14;31457:58;31549:20;31544:2;31536:6;31532:15;31525:45;31446:131;:::o;31583:167::-;31723:19;31719:1;31711:6;31707:14;31700:43;31689:61;:::o;31756:234::-;31896:34;31892:1;31884:6;31880:14;31873:58;31965:17;31960:2;31952:6;31948:15;31941:42;31862:128;:::o;31996:120::-;32084:1;32077:5;32074:12;32064:2;;32090:18;;:::i;:::-;32064:2;32054:62;:::o;32122:122::-;32195:24;32213:5;32195:24;:::i;:::-;32188:5;32185:35;32175:2;;32234:1;32231;32224:12;32175:2;32165:79;:::o;32250:116::-;32320:21;32335:5;32320:21;:::i;:::-;32313:5;32310:32;32300:2;;32356:1;32353;32346:12;32300:2;32290:76;:::o;32372:122::-;32445:24;32463:5;32445:24;:::i;:::-;32438:5;32435:35;32425:2;;32484:1;32481;32474:12;32425:2;32415:79;:::o;32500:120::-;32572:23;32589:5;32572:23;:::i;:::-;32565:5;32562:34;32552:2;;32610:1;32607;32600:12;32552:2;32542:78;:::o;32626:114::-;32714:1;32707:5;32704:12;32694:2;;32730:1;32727;32720:12;32694:2;32684:56;:::o;32746:118::-;32817:22;32833:5;32817:22;:::i;:::-;32810:5;32807:33;32797:2;;32854:1;32851;32844:12;32797:2;32787:77;:::o;32870:122::-;32943:24;32961:5;32943:24;:::i;:::-;32936:5;32933:35;32923:2;;32982:1;32979;32972:12;32923:2;32913:79;:::o;32998:118::-;33069:22;33085:5;33069:22;:::i;:::-;33062:5;33059:33;33049:2;;33106:1;33103;33096:12;33049:2;33039:77;:::o" + }, + "methodIdentifiers": { + "ApplyForUnion(int64,int64,address,uint8,address,string)": "b9f7076f", + "ApproveJoin(address)": "ad8f8660", + "Chat_id_array(uint256)": "d698b364", + "DEFAULT_ADMIN_ROLE()": "a217fddf", + "DeclineJoin(address)": "36b9f727", + "daoAddresses(int64)": "d6b2da8e", + "daos(address)": "c25f3cf6", + "getDaoAddressbyChatId(int64)": "e57bede4", + "getDaoCount()": "d4d8f892", + "getModeratorIdentifier()": "5d1ce88f", + "getRoleAdmin(bytes32)": "248a9ca3", + "grantRole(bytes32,address)": "2f2ff15d", + "hasRole(bytes32,address)": "91d14854", + "moderator()": "38743904", + "owner()": "8da5cb5b", + "renounceOwnership()": "715018a6", + "renounceRole(bytes32,address)": "36568abe", + "revokeRole(bytes32,address)": "d547741f", + "supportsInterface(bytes4)": "01ffc9a7", + "tgpassport()": "7527d5a1", + "transferOwnership(address)": "f2fde38b" + } + }, + "metadata": "{\"compiler\":{\"version\":\"0.8.4+commit.c7e474f2\"},\"language\":\"Solidity\",\"output\":{\"abi\":[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passportContract_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applier_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum Union.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApplicationForJoin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applier_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum Union.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApplicationForJoinIndexed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"chat_id\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum Union.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApprovedJoin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"chat_id\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enum Union.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"DeclinedApplication\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"daoTg\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"dao_\",\"type\":\"address\"},{\"internalType\":\"enum Union.VotingType\",\"name\":\"votingType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"votingTokenContract_\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"dao_name_\",\"type\":\"string\"}],\"name\":\"ApplyForUnion\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"daoAddress\",\"type\":\"address\"}],\"name\":\"ApproveJoin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"Chat_id_array\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"daoAddress\",\"type\":\"address\"}],\"name\":\"DeclineJoin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"name\":\"daoAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"daos\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"chatOwnerAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"multisigAddress\",\"type\":\"address\"},{\"internalType\":\"enum Union.VotingType\",\"name\":\"votingType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"votingToken\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"}],\"name\":\"getDaoAddressbyChatId\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDaoCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getModeratorIdentifier\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moderator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tgpassport\",\"outputs\":[{\"internalType\":\"contract TGPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}],\"devdoc\":{\"kind\":\"dev\",\"methods\":{\"ApplyForUnion(int64,int64,address,uint8,address,string)\":{\"params\":{\"applyerTg\":\"-- tgid of user who sent apply\",\"daoTg\":\"-- tgid of chat\",\"dao_\":\"-- multisig address\",\"dao_name_\":\"-- string name of group chat. can be uses as a link (if link is https://t.me/eth_ru then name is @eth_ru)\",\"votingType_\":\"-- represents voting token's type: 0=erc20 1=erc20Snapshot 2=erc721\"}},\"ApproveJoin(address)\":{\"details\":\"This function intended to be used by bot, cause only bot can check if tg id of multisig owner is eqal of tg id of chat admin\",\"params\":{\"daoAddress\":\"address of multisig wallet\"}},\"DeclineJoin(address)\":{\"details\":\"function for decline join (for erase unvalid data as example)\",\"params\":{\"daoAddress\":\"address of multisig\"}},\"getDaoAddressbyChatId(int64)\":{\"details\":\"get multisig address by tgid of chat\"},\"getRoleAdmin(bytes32)\":{\"details\":\"Returns the admin role that controls `role`. See {grantRole} and {revokeRole}. To change a role's admin, use {_setRoleAdmin}.\"},\"grantRole(bytes32,address)\":{\"details\":\"Grants `role` to `account`. If `account` had not been already granted `role`, emits a {RoleGranted} event. Requirements: - the caller must have ``role``'s admin role.\"},\"hasRole(bytes32,address)\":{\"details\":\"Returns `true` if `account` has been granted `role`.\"},\"owner()\":{\"details\":\"Returns the address of the current owner.\"},\"renounceOwnership()\":{\"details\":\"Leaves the contract without owner. It will not be possible to call `onlyOwner` functions anymore. Can only be called by the current owner. NOTE: Renouncing ownership will leave the contract without an owner, thereby removing any functionality that is only available to the owner.\"},\"renounceRole(bytes32,address)\":{\"details\":\"Revokes `role` from the calling account. Roles are often managed via {grantRole} and {revokeRole}: this function's purpose is to provide a mechanism for accounts to lose their privileges if they are compromised (such as when a trusted device is misplaced). If the calling account had been revoked `role`, emits a {RoleRevoked} event. Requirements: - the caller must be `account`.\"},\"revokeRole(bytes32,address)\":{\"details\":\"Revokes `role` from `account`. If `account` had been granted `role`, emits a {RoleRevoked} event. Requirements: - the caller must have ``role``'s admin role.\"},\"supportsInterface(bytes4)\":{\"details\":\"See {IERC165-supportsInterface}.\"},\"transferOwnership(address)\":{\"details\":\"Transfers ownership of the contract to a new account (`newOwner`). Can only be called by the current owner.\"}},\"version\":1},\"userdoc\":{\"kind\":\"user\",\"methods\":{\"ApplyForUnion(int64,int64,address,uint8,address,string)\":{\"notice\":\"This function suggest applying for union for any dao REQUIREMENTS: 1.dao should have it's multisig address 2.owner of multisig must be registred in Passport contract with it's personal tg_id 3. this tg_id must be equal to tgid of appling chat admin. Last check can be done only by oracle\"}},\"version\":1}},\"settings\":{\"compilationTarget\":{\"contracts/Union.sol\":\"Union\"},\"evmVersion\":\"istanbul\",\"libraries\":{},\"metadata\":{\"bytecodeHash\":\"ipfs\"},\"optimizer\":{\"enabled\":false,\"runs\":200},\"remappings\":[]},\"sources\":{\"@openzeppelin/contracts/access/AccessControl.sol\":{\"keccak256\":\"0x4a1a0ba12bf1a33f10d9fe226278cf59675c0b929d29e4da99658a079b27fb84\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bda1319db846d6d6f92d8a57a9bdee8bde1dc39aa7546165791692c24dd6f30a\",\"dweb:/ipfs/Qma5oZ7DmbdAjd8mpiW7mx896PDtwsQtCQ2hj9Upf7b7JK\"]},\"@openzeppelin/contracts/access/IAccessControl.sol\":{\"keccak256\":\"0x59ce320a585d7e1f163cd70390a0ef2ff9cec832e2aa544293a00692465a7a57\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://bb2c137c343ef0c4c7ce7b18c1d108afdc9d315a04e48307288d2d05adcbde3a\",\"dweb:/ipfs/QmUxhrAQM3MM3FF5j7AtcXLXguWCJBHJ14BRdVtuoQc8Fh\"]},\"@openzeppelin/contracts/access/Ownable.sol\":{\"keccak256\":\"0x24e0364e503a9bbde94c715d26573a76f14cd2a202d45f96f52134ab806b67b9\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://e12cbaa7378fd9b62280e4e1d164bedcb4399ce238f5f98fc0eefb7e50577981\",\"dweb:/ipfs/QmXRoFGUgfsaRkoPT5bxNMtSayKTQ8GZATLPXf69HcRA51\"]},\"@openzeppelin/contracts/token/ERC20/IERC20.sol\":{\"keccak256\":\"0xbbc8ac883ac3c0078ce5ad3e288fbb3ffcc8a30c3a98c0fda0114d64fc44fca2\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://87a7a5d2f6f63f84598af02b8c50ca2df2631cb8ba2453e8d95fcb17e4be9824\",\"dweb:/ipfs/QmR76hqtAcRqoFj33tmNjcWTLrgNsAaakYwnKZ8zoJtKei\"]},\"@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol\":{\"keccak256\":\"0x8de418a5503946cabe331f35fe242d3201a73f67f77aaeb7110acb1f30423aca\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://5a376d3dda2cb70536c0a45c208b29b34ac560c4cb4f513a42079f96ba47d2dd\",\"dweb:/ipfs/QmZQg6gn1sUpM8wHzwNvSnihumUCAhxD119MpXeKp8B9s8\"]},\"@openzeppelin/contracts/token/ERC721/IERC721.sol\":{\"keccak256\":\"0x516a22876c1fab47f49b1bc22b4614491cd05338af8bd2e7b382da090a079990\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://a439187f7126d31add4557f82d8aed6be0162007cd7182c48fd934dbab8f3849\",\"dweb:/ipfs/QmRPLguRFvrRJS7r6F1bcLvsx6q1VrgjEpZafyeL8D7xZh\"]},\"@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol\":{\"keccak256\":\"0xd1556954440b31c97a142c6ba07d5cade45f96fafd52091d33a14ebe365aecbf\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://26fef835622b46a5ba08b3ef6b46a22e94b5f285d0f0fb66b703bd30217d2c34\",\"dweb:/ipfs/QmZ548qdwfL1qF7aXz3xh1GCdTiST81kGGuKRqVUfYmPZR\"]},\"@openzeppelin/contracts/utils/Context.sol\":{\"keccak256\":\"0xe2e337e6dde9ef6b680e07338c493ebea1b5fd09b43424112868e9cc1706bca7\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://6df0ddf21ce9f58271bdfaa85cde98b200ef242a05a3f85c2bc10a8294800a92\",\"dweb:/ipfs/QmRK2Y5Yc6BK7tGKkgsgn3aJEQGi5aakeSPZvS65PV8Xp3\"]},\"@openzeppelin/contracts/utils/Counters.sol\":{\"keccak256\":\"0xf0018c2440fbe238dd3a8732fa8e17a0f9dce84d31451dc8a32f6d62b349c9f1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://59e1c62884d55b70f3ae5432b44bb3166ad71ae3acd19c57ab6ddc3c87c325ee\",\"dweb:/ipfs/QmezuXg5GK5oeA4F91EZhozBFekhq5TD966bHPH18cCqhu\"]},\"@openzeppelin/contracts/utils/Strings.sol\":{\"keccak256\":\"0x32c202bd28995dd20c4347b7c6467a6d3241c74c8ad3edcbb610cd9205916c45\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://8179c356adb19e70d6b31a1eedc8c5c7f0c00e669e2540f4099e3844c6074d30\",\"dweb:/ipfs/QmWFbivarEobbqhS1go64ootVuHfVohBseerYy9FTEd1W2\"]},\"@openzeppelin/contracts/utils/introspection/ERC165.sol\":{\"keccak256\":\"0xd10975de010d89fd1c78dc5e8a9a7e7f496198085c151648f20cba166b32582b\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://fb0048dee081f6fffa5f74afc3fb328483c2a30504e94a0ddd2a5114d731ec4d\",\"dweb:/ipfs/QmZptt1nmYoA5SgjwnSgWqgUSDgm4q52Yos3xhnMv3MV43\"]},\"@openzeppelin/contracts/utils/introspection/IERC165.sol\":{\"keccak256\":\"0x447a5f3ddc18419d41ff92b3773fb86471b1db25773e07f877f548918a185bf1\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://be161e54f24e5c6fae81a12db1a8ae87bc5ae1b0ddc805d82a1440a68455088f\",\"dweb:/ipfs/QmP7C3CHdY9urF4dEMb9wmsp1wMxHF6nhA2yQE5SKiPAdy\"]},\"contracts/TGPassport.sol\":{\"keccak256\":\"0x52865a08e7e8312183726b929f52c223009699aeaf597666d038ee7349baa3b0\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://eba014fcc483e421a761eaa985074b30dab133a32a7b347449a75860cace3e90\",\"dweb:/ipfs/Qmd75cnT51zsyASrTHd5RdQ3GBtcwTt69gTqocww6YWwo6\"]},\"contracts/Union.sol\":{\"keccak256\":\"0x72c0454df508afab14e7314a3efb3e1dcdc93319d6f7f0e4652f35b0f305ed9a\",\"license\":\"MIT\",\"urls\":[\"bzz-raw://c9949ee7d1fc6d31fe340c1332c3251c09e942e90bb4d858040ca3411bf53ed9\",\"dweb:/ipfs/QmcAGkrSHC9yhy65TUv8epWxcSgCR7cmk47rNxTBn9mRdz\"]}},\"version\":1}" + } + } + }, + "sources": { + "@openzeppelin/contracts/access/AccessControl.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", + "exportedSymbols": { + "AccessControl": [ + 308 + ], + "Context": [ + 758 + ], + "ERC165": [ + 1059 + ], + "IAccessControl": [ + 381 + ], + "IERC165": [ + 1071 + ], + "Strings": [ + 1035 + ] + }, + "id": 309, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "108:23:0" + }, + { + "absolutePath": "@openzeppelin/contracts/access/IAccessControl.sol", + "file": "./IAccessControl.sol", + "id": 2, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 309, + "sourceUnit": 382, + "src": "133:30:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 3, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 309, + "sourceUnit": 759, + "src": "164:30:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", + "file": "../utils/Strings.sol", + "id": 4, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 309, + "sourceUnit": 1036, + "src": "195:30:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "file": "../utils/introspection/ERC165.sol", + "id": 5, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 309, + "sourceUnit": 1060, + "src": "226:43:0", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 7, + "name": "Context", + "nodeType": "IdentifierPath", + "referencedDeclaration": 758, + "src": "1841:7:0" + }, + "id": 8, + "nodeType": "InheritanceSpecifier", + "src": "1841:7:0" + }, + { + "baseName": { + "id": 9, + "name": "IAccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 381, + "src": "1850:14:0" + }, + "id": 10, + "nodeType": "InheritanceSpecifier", + "src": "1850:14:0" + }, + { + "baseName": { + "id": 11, + "name": "ERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1059, + "src": "1866:6:0" + }, + "id": 12, + "nodeType": "InheritanceSpecifier", + "src": "1866:6:0" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 6, + "nodeType": "StructuredDocumentation", + "src": "271:1534:0", + "text": " @dev Contract module that allows children to implement role-based access\n control mechanisms. This is a lightweight version that doesn't allow enumerating role\n members except through off-chain means by accessing the contract event logs. Some\n applications may benefit from on-chain enumerability, for those cases see\n {AccessControlEnumerable}.\n Roles are referred to by their `bytes32` identifier. These should be exposed\n in the external API and be unique. The best way to achieve this is by\n using `public constant` hash digests:\n ```\n bytes32 public constant MY_ROLE = keccak256(\"MY_ROLE\");\n ```\n Roles can be used to represent a set of permissions. To restrict access to a\n function call, use {hasRole}:\n ```\n function foo() public {\n require(hasRole(MY_ROLE, msg.sender));\n ...\n }\n ```\n Roles can be granted and revoked dynamically via the {grantRole} and\n {revokeRole} functions. Each role has an associated admin role, and only\n accounts that have a role's admin role can call {grantRole} and {revokeRole}.\n By default, the admin role for all roles is `DEFAULT_ADMIN_ROLE`, which means\n that only accounts with this role will be able to grant or revoke other\n roles. More complex role relationships can be created by using\n {_setRoleAdmin}.\n WARNING: The `DEFAULT_ADMIN_ROLE` is also its own admin: it has permission to\n grant and revoke this role. Extra precautions should be taken to secure\n accounts that have been granted it." + }, + "fullyImplemented": true, + "id": 308, + "linearizedBaseContracts": [ + 308, + 1059, + 1071, + 381, + 758 + ], + "name": "AccessControl", + "nameLocation": "1824:13:0", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "AccessControl.RoleData", + "id": 19, + "members": [ + { + "constant": false, + "id": 16, + "mutability": "mutable", + "name": "members", + "nameLocation": "1930:7:0", + "nodeType": "VariableDeclaration", + "scope": 19, + "src": "1905:32:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "typeName": { + "id": 15, + "keyType": { + "id": 13, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1913:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "1905:24:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + }, + "valueType": { + "id": 14, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1924:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 18, + "mutability": "mutable", + "name": "adminRole", + "nameLocation": "1955:9:0", + "nodeType": "VariableDeclaration", + "scope": 19, + "src": "1947:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 17, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1947:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "name": "RoleData", + "nameLocation": "1886:8:0", + "nodeType": "StructDefinition", + "scope": 308, + "src": "1879:92:0", + "visibility": "public" + }, + { + "constant": false, + "id": 24, + "mutability": "mutable", + "name": "_roles", + "nameLocation": "2014:6:0", + "nodeType": "VariableDeclaration", + "scope": 308, + "src": "1977:43:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" + }, + "typeName": { + "id": 23, + "keyType": { + "id": 20, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1985:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Mapping", + "src": "1977:28:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData)" + }, + "valueType": { + "id": 22, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 21, + "name": "RoleData", + "nodeType": "IdentifierPath", + "referencedDeclaration": 19, + "src": "1996:8:0" + }, + "referencedDeclaration": 19, + "src": "1996:8:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage_ptr", + "typeString": "struct AccessControl.RoleData" + } + } + }, + "visibility": "private" + }, + { + "constant": true, + "functionSelector": "a217fddf", + "id": 27, + "mutability": "constant", + "name": "DEFAULT_ADMIN_ROLE", + "nameLocation": "2051:18:0", + "nodeType": "VariableDeclaration", + "scope": 308, + "src": "2027:49:0", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 25, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2027:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "hexValue": "30783030", + "id": 26, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2072:4:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x00" + }, + "visibility": "public" + }, + { + "body": { + "id": 39, + "nodeType": "Block", + "src": "2495:58:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 33, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 30, + "src": "2516:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 34, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "2522:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 35, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2522:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 32, + "name": "_checkRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 124, + "src": "2505:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address) view" + } + }, + "id": 36, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2505:30:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 37, + "nodeType": "ExpressionStatement", + "src": "2505:30:0" + }, + { + "id": 38, + "nodeType": "PlaceholderStatement", + "src": "2545:1:0" + } + ] + }, + "documentation": { + "id": 28, + "nodeType": "StructuredDocumentation", + "src": "2083:375:0", + "text": " @dev Modifier that checks that an account has a specific role. Reverts\n with a standardized message including the required role.\n The format of the revert reason is given by the following regular expression:\n /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/\n _Available since v4.1._" + }, + "id": 40, + "name": "onlyRole", + "nameLocation": "2472:8:0", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 31, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 30, + "mutability": "mutable", + "name": "role", + "nameLocation": "2489:4:0", + "nodeType": "VariableDeclaration", + "scope": 40, + "src": "2481:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 29, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2481:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "2480:14:0" + }, + "src": "2463:90:0", + "virtual": false, + "visibility": "internal" + }, + { + "baseFunctions": [ + 1058 + ], + "body": { + "id": 61, + "nodeType": "Block", + "src": "2711:111:0", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 59, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 54, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 49, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "2728:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 51, + "name": "IAccessControl", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 381, + "src": "2748:14:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IAccessControl_$381_$", + "typeString": "type(contract IAccessControl)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IAccessControl_$381_$", + "typeString": "type(contract IAccessControl)" + } + ], + "id": 50, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "2743:4:0", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 52, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2743:20:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IAccessControl_$381", + "typeString": "type(contract IAccessControl)" + } + }, + "id": 53, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "2743:32:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "2728:47:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "||", + "rightExpression": { + "arguments": [ + { + "id": 57, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 43, + "src": "2803:11:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "id": 55, + "name": "super", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -25, + "src": "2779:5:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_super$_AccessControl_$308_$", + "typeString": "type(contract super AccessControl)" + } + }, + "id": 56, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 1058, + "src": "2779:23:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view returns (bool)" + } + }, + "id": 58, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2779:36:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "2728:87:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 48, + "id": 60, + "nodeType": "Return", + "src": "2721:94:0" + } + ] + }, + "documentation": { + "id": 41, + "nodeType": "StructuredDocumentation", + "src": "2559:56:0", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 62, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "2629:17:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 45, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2687:8:0" + }, + "parameters": { + "id": 44, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 43, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "2654:11:0", + "nodeType": "VariableDeclaration", + "scope": 62, + "src": "2647:18:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 42, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "2647:6:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "2646:20:0" + }, + "returnParameters": { + "id": 48, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 47, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 62, + "src": "2705:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 46, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2705:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2704:6:0" + }, + "scope": 308, + "src": "2620:202:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 348 + ], + "body": { + "id": 80, + "nodeType": "Block", + "src": "3001:53:0", + "statements": [ + { + "expression": { + "baseExpression": { + "expression": { + "baseExpression": { + "id": 73, + "name": "_roles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "3018:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" + } + }, + "id": 75, + "indexExpression": { + "id": 74, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 65, + "src": "3025:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3018:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage", + "typeString": "struct AccessControl.RoleData storage ref" + } + }, + "id": 76, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "3018:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 78, + "indexExpression": { + "id": 77, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 67, + "src": "3039:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3018:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 72, + "id": 79, + "nodeType": "Return", + "src": "3011:36:0" + } + ] + }, + "documentation": { + "id": 63, + "nodeType": "StructuredDocumentation", + "src": "2828:76:0", + "text": " @dev Returns `true` if `account` has been granted `role`." + }, + "functionSelector": "91d14854", + "id": 81, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "hasRole", + "nameLocation": "2918:7:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 69, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "2977:8:0" + }, + "parameters": { + "id": 68, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 65, + "mutability": "mutable", + "name": "role", + "nameLocation": "2934:4:0", + "nodeType": "VariableDeclaration", + "scope": 81, + "src": "2926:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 64, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2926:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 67, + "mutability": "mutable", + "name": "account", + "nameLocation": "2948:7:0", + "nodeType": "VariableDeclaration", + "scope": 81, + "src": "2940:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 66, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2940:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2925:31:0" + }, + "returnParameters": { + "id": 72, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 71, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 81, + "src": "2995:4:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 70, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2995:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2994:6:0" + }, + "scope": 308, + "src": "2909:145:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 123, + "nodeType": "Block", + "src": "3408:419:0", + "statements": [ + { + "condition": { + "id": 93, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "3422:23:0", + "subExpression": { + "arguments": [ + { + "id": 90, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "3431:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 91, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86, + "src": "3437:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 89, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "3423:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 92, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3423:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 122, + "nodeType": "IfStatement", + "src": "3418:403:0", + "trueBody": { + "id": 121, + "nodeType": "Block", + "src": "3447:374:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "arguments": [ + { + "hexValue": "416363657373436f6e74726f6c3a206163636f756e7420", + "id": 99, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3555:25:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "typeString": "literal_string \"AccessControl: account \"" + }, + "value": "AccessControl: account " + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 104, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 86, + "src": "3634:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 103, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3626:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint160_$", + "typeString": "type(uint160)" + }, + "typeName": { + "id": 102, + "name": "uint160", + "nodeType": "ElementaryTypeName", + "src": "3626:7:0", + "typeDescriptions": {} + } + }, + "id": 105, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3626:16:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + } + }, + { + "hexValue": "3230", + "id": 106, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3644:2:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + }, + "value": "20" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint160", + "typeString": "uint160" + }, + { + "typeIdentifier": "t_rational_20_by_1", + "typeString": "int_const 20" + } + ], + "expression": { + "id": 100, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1035, + "src": "3606:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Strings_$1035_$", + "typeString": "type(library Strings)" + } + }, + "id": 101, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toHexString", + "nodeType": "MemberAccess", + "referencedDeclaration": 1034, + "src": "3606:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 107, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3606:41:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + { + "hexValue": "206973206d697373696e6720726f6c6520", + "id": 108, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3673:19:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "typeString": "literal_string \" is missing role \"" + }, + "value": " is missing role " + }, + { + "arguments": [ + { + "arguments": [ + { + "id": 113, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 84, + "src": "3746:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 112, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3738:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 111, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3738:7:0", + "typeDescriptions": {} + } + }, + "id": 114, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3738:13:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "hexValue": "3332", + "id": 115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3753:2:0", + "typeDescriptions": { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + }, + "value": "32" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_rational_32_by_1", + "typeString": "int_const 32" + } + ], + "expression": { + "id": 109, + "name": "Strings", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1035, + "src": "3718:7:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_Strings_$1035_$", + "typeString": "type(library Strings)" + } + }, + "id": 110, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "toHexString", + "nodeType": "MemberAccess", + "referencedDeclaration": 1034, + "src": "3718:19:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3718:38:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_da0d07ce4a2849fbfc4cb9d6f939e9bd93016c372ca4a5ff14fe06caf3d67874", + "typeString": "literal_string \"AccessControl: account \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + }, + { + "typeIdentifier": "t_stringliteral_f986ce851518a691bccd44ea42a5a185d1b866ef6cb07984a09b81694d20ab69", + "typeString": "literal_string \" is missing role \"" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "expression": { + "id": 97, + "name": "abi", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -1, + "src": "3513:3:0", + "typeDescriptions": { + "typeIdentifier": "t_magic_abi", + "typeString": "abi" + } + }, + "id": 98, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "encodePacked", + "nodeType": "MemberAccess", + "src": "3513:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_abiencodepacked_pure$__$returns$_t_bytes_memory_ptr_$", + "typeString": "function () pure returns (bytes memory)" + } + }, + "id": 117, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3513:265:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 96, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3485:6:0", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 95, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3485:6:0", + "typeDescriptions": {} + } + }, + "id": 118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3485:311:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 94, + "name": "revert", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -19, + -19 + ], + "referencedDeclaration": -19, + "src": "3461:6:0", + "typeDescriptions": { + "typeIdentifier": "t_function_revert_pure$_t_string_memory_ptr_$returns$__$", + "typeString": "function (string memory) pure" + } + }, + "id": 119, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3461:349:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 120, + "nodeType": "ExpressionStatement", + "src": "3461:349:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 82, + "nodeType": "StructuredDocumentation", + "src": "3060:270:0", + "text": " @dev Revert with a standard message if `account` is missing `role`.\n The format of the revert reason is given by the following regular expression:\n /^AccessControl: account (0x[0-9a-f]{40}) is missing role (0x[0-9a-f]{64})$/" + }, + "id": 124, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkRole", + "nameLocation": "3344:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 87, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 84, + "mutability": "mutable", + "name": "role", + "nameLocation": "3363:4:0", + "nodeType": "VariableDeclaration", + "scope": 124, + "src": "3355:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 83, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "3355:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 86, + "mutability": "mutable", + "name": "account", + "nameLocation": "3377:7:0", + "nodeType": "VariableDeclaration", + "scope": 124, + "src": "3369:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 85, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3369:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3354:31:0" + }, + "returnParameters": { + "id": 88, + "nodeType": "ParameterList", + "parameters": [], + "src": "3408:0:0" + }, + "scope": 308, + "src": "3335:492:0", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "baseFunctions": [ + 356 + ], + "body": { + "id": 138, + "nodeType": "Block", + "src": "4091:46:0", + "statements": [ + { + "expression": { + "expression": { + "baseExpression": { + "id": 133, + "name": "_roles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "4108:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" + } + }, + "id": 135, + "indexExpression": { + "id": 134, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 127, + "src": "4115:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4108:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage", + "typeString": "struct AccessControl.RoleData storage ref" + } + }, + "id": 136, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "adminRole", + "nodeType": "MemberAccess", + "referencedDeclaration": 18, + "src": "4108:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 132, + "id": 137, + "nodeType": "Return", + "src": "4101:29:0" + } + ] + }, + "documentation": { + "id": 125, + "nodeType": "StructuredDocumentation", + "src": "3833:170:0", + "text": " @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {_setRoleAdmin}." + }, + "functionSelector": "248a9ca3", + "id": 139, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getRoleAdmin", + "nameLocation": "4017:12:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 129, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4064:8:0" + }, + "parameters": { + "id": 128, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 127, + "mutability": "mutable", + "name": "role", + "nameLocation": "4038:4:0", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "4030:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 126, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4030:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4029:14:0" + }, + "returnParameters": { + "id": 132, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 131, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 139, + "src": "4082:7:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 130, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4082:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "4081:9:0" + }, + "scope": 308, + "src": "4008:129:0", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 364 + ], + "body": { + "id": 158, + "nodeType": "Block", + "src": "4490:42:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 154, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "4511:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 155, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 144, + "src": "4517:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 153, + "name": "_grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "4500:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 156, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4500:25:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 157, + "nodeType": "ExpressionStatement", + "src": "4500:25:0" + } + ] + }, + "documentation": { + "id": 140, + "nodeType": "StructuredDocumentation", + "src": "4143:239:0", + "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role." + }, + "functionSelector": "2f2ff15d", + "id": 159, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 149, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 142, + "src": "4483:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 148, + "name": "getRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "4470:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 150, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4470:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 151, + "kind": "modifierInvocation", + "modifierName": { + "id": 147, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "4461:8:0" + }, + "nodeType": "ModifierInvocation", + "src": "4461:28:0" + } + ], + "name": "grantRole", + "nameLocation": "4396:9:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 146, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4452:8:0" + }, + "parameters": { + "id": 145, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 142, + "mutability": "mutable", + "name": "role", + "nameLocation": "4414:4:0", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "4406:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 141, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4406:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 144, + "mutability": "mutable", + "name": "account", + "nameLocation": "4428:7:0", + "nodeType": "VariableDeclaration", + "scope": 159, + "src": "4420:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 143, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4420:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4405:31:0" + }, + "returnParameters": { + "id": 152, + "nodeType": "ParameterList", + "parameters": [], + "src": "4490:0:0" + }, + "scope": 308, + "src": "4387:145:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 372 + ], + "body": { + "id": 178, + "nodeType": "Block", + "src": "4870:43:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 174, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "4892:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 175, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 164, + "src": "4898:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 173, + "name": "_revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "4880:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 176, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4880:26:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 177, + "nodeType": "ExpressionStatement", + "src": "4880:26:0" + } + ] + }, + "documentation": { + "id": 160, + "nodeType": "StructuredDocumentation", + "src": "4538:223:0", + "text": " @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role." + }, + "functionSelector": "d547741f", + "id": 179, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "arguments": [ + { + "id": 169, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 162, + "src": "4863:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 168, + "name": "getRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "4850:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 170, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4850:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 171, + "kind": "modifierInvocation", + "modifierName": { + "id": 167, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "4841:8:0" + }, + "nodeType": "ModifierInvocation", + "src": "4841:28:0" + } + ], + "name": "revokeRole", + "nameLocation": "4775:10:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 166, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "4832:8:0" + }, + "parameters": { + "id": 165, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 162, + "mutability": "mutable", + "name": "role", + "nameLocation": "4794:4:0", + "nodeType": "VariableDeclaration", + "scope": 179, + "src": "4786:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 161, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "4786:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 164, + "mutability": "mutable", + "name": "account", + "nameLocation": "4808:7:0", + "nodeType": "VariableDeclaration", + "scope": 179, + "src": "4800:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 163, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4800:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4785:31:0" + }, + "returnParameters": { + "id": 172, + "nodeType": "ParameterList", + "parameters": [], + "src": "4870:0:0" + }, + "scope": 308, + "src": "4766:147:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "baseFunctions": [ + 380 + ], + "body": { + "id": 201, + "nodeType": "Block", + "src": "5481:137:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 192, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 189, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "5499:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 190, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "5510:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 191, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5510:12:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "5499:23:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636520726f6c657320666f722073656c66", + "id": 193, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5524:49:0", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "typeString": "literal_string \"AccessControl: can only renounce roles for self\"" + }, + "value": "AccessControl: can only renounce roles for self" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_fb06fa8ff2141e8ed74502f6792273793f25f0e9d3cf15344f3f5a0d4948fd4b", + "typeString": "literal_string \"AccessControl: can only renounce roles for self\"" + } + ], + "id": 188, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5491:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 194, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5491:83:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 195, + "nodeType": "ExpressionStatement", + "src": "5491:83:0" + }, + { + "expression": { + "arguments": [ + { + "id": 197, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 182, + "src": "5597:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 198, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 184, + "src": "5603:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 196, + "name": "_revokeRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 307, + "src": "5585:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 199, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5585:26:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 200, + "nodeType": "ExpressionStatement", + "src": "5585:26:0" + } + ] + }, + "documentation": { + "id": 180, + "nodeType": "StructuredDocumentation", + "src": "4919:480:0", + "text": " @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been revoked `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`." + }, + "functionSelector": "36568abe", + "id": 202, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "renounceRole", + "nameLocation": "5413:12:0", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 186, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "5472:8:0" + }, + "parameters": { + "id": 185, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 182, + "mutability": "mutable", + "name": "role", + "nameLocation": "5434:4:0", + "nodeType": "VariableDeclaration", + "scope": 202, + "src": "5426:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 181, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "5426:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 184, + "mutability": "mutable", + "name": "account", + "nameLocation": "5448:7:0", + "nodeType": "VariableDeclaration", + "scope": 202, + "src": "5440:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 183, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5440:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5425:31:0" + }, + "returnParameters": { + "id": 187, + "nodeType": "ParameterList", + "parameters": [], + "src": "5481:0:0" + }, + "scope": 308, + "src": "5404:214:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 215, + "nodeType": "Block", + "src": "6325:42:0", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 211, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 205, + "src": "6346:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 212, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 207, + "src": "6352:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 210, + "name": "_grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "6335:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 213, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6335:25:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 214, + "nodeType": "ExpressionStatement", + "src": "6335:25:0" + } + ] + }, + "documentation": { + "id": 203, + "nodeType": "StructuredDocumentation", + "src": "5624:628:0", + "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event. Note that unlike {grantRole}, this function doesn't perform any\n checks on the calling account.\n [WARNING]\n ====\n This function should only be called from the constructor when setting\n up the initial roles for the system.\n Using this function in any other way is effectively circumventing the admin\n system imposed by {AccessControl}.\n ====\n NOTE: This function is deprecated in favor of {_grantRole}." + }, + "id": 216, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setupRole", + "nameLocation": "6266:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 208, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 205, + "mutability": "mutable", + "name": "role", + "nameLocation": "6285:4:0", + "nodeType": "VariableDeclaration", + "scope": 216, + "src": "6277:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 204, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6277:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 207, + "mutability": "mutable", + "name": "account", + "nameLocation": "6299:7:0", + "nodeType": "VariableDeclaration", + "scope": 216, + "src": "6291:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 206, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6291:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6276:31:0" + }, + "returnParameters": { + "id": 209, + "nodeType": "ParameterList", + "parameters": [], + "src": "6325:0:0" + }, + "scope": 308, + "src": "6257:110:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 243, + "nodeType": "Block", + "src": "6565:174:0", + "statements": [ + { + "assignments": [ + 225 + ], + "declarations": [ + { + "constant": false, + "id": 225, + "mutability": "mutable", + "name": "previousAdminRole", + "nameLocation": "6583:17:0", + "nodeType": "VariableDeclaration", + "scope": 243, + "src": "6575:25:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 224, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6575:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "id": 229, + "initialValue": { + "arguments": [ + { + "id": 227, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "6616:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 226, + "name": "getRoleAdmin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 139, + "src": "6603:12:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$returns$_t_bytes32_$", + "typeString": "function (bytes32) view returns (bytes32)" + } + }, + "id": 228, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6603:18:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6575:46:0" + }, + { + "expression": { + "id": 235, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "baseExpression": { + "id": 230, + "name": "_roles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "6631:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" + } + }, + "id": 232, + "indexExpression": { + "id": 231, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "6638:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6631:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage", + "typeString": "struct AccessControl.RoleData storage ref" + } + }, + "id": 233, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "adminRole", + "nodeType": "MemberAccess", + "referencedDeclaration": 18, + "src": "6631:22:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 234, + "name": "adminRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 221, + "src": "6656:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "src": "6631:34:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "id": 236, + "nodeType": "ExpressionStatement", + "src": "6631:34:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 238, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 219, + "src": "6697:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 239, + "name": "previousAdminRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 225, + "src": "6703:17:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 240, + "name": "adminRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 221, + "src": "6722:9:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + ], + "id": 237, + "name": "RoleAdminChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 320, + "src": "6680:16:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_bytes32_$_t_bytes32_$returns$__$", + "typeString": "function (bytes32,bytes32,bytes32)" + } + }, + "id": 241, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6680:52:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 242, + "nodeType": "EmitStatement", + "src": "6675:57:0" + } + ] + }, + "documentation": { + "id": 217, + "nodeType": "StructuredDocumentation", + "src": "6373:114:0", + "text": " @dev Sets `adminRole` as ``role``'s admin role.\n Emits a {RoleAdminChanged} event." + }, + "id": 244, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_setRoleAdmin", + "nameLocation": "6501:13:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 222, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 219, + "mutability": "mutable", + "name": "role", + "nameLocation": "6523:4:0", + "nodeType": "VariableDeclaration", + "scope": 244, + "src": "6515:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 218, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6515:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 221, + "mutability": "mutable", + "name": "adminRole", + "nameLocation": "6537:9:0", + "nodeType": "VariableDeclaration", + "scope": 244, + "src": "6529:17:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 220, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6529:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "6514:33:0" + }, + "returnParameters": { + "id": 223, + "nodeType": "ParameterList", + "parameters": [], + "src": "6565:0:0" + }, + "scope": 308, + "src": "6492:247:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 275, + "nodeType": "Block", + "src": "6929:165:0", + "statements": [ + { + "condition": { + "id": 256, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "!", + "prefix": true, + "src": "6943:23:0", + "subExpression": { + "arguments": [ + { + "id": 253, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "6952:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 254, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 249, + "src": "6958:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 252, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "6944:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 255, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6944:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 274, + "nodeType": "IfStatement", + "src": "6939:149:0", + "trueBody": { + "id": 273, + "nodeType": "Block", + "src": "6968:120:0", + "statements": [ + { + "expression": { + "id": 264, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "baseExpression": { + "id": 257, + "name": "_roles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "6982:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" + } + }, + "id": 259, + "indexExpression": { + "id": 258, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "6989:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6982:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage", + "typeString": "struct AccessControl.RoleData storage ref" + } + }, + "id": 260, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "6982:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 262, + "indexExpression": { + "id": 261, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 249, + "src": "7003:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6982:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 263, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7014:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6982:36:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 265, + "nodeType": "ExpressionStatement", + "src": "6982:36:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 267, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 247, + "src": "7049:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 268, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 249, + "src": "7055:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 269, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "7064:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 270, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7064:12:0", + "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" + } + ], + "id": 266, + "name": "RoleGranted", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 329, + "src": "7037:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", + "typeString": "function (bytes32,address,address)" + } + }, + "id": 271, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7037:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 272, + "nodeType": "EmitStatement", + "src": "7032:45:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 245, + "nodeType": "StructuredDocumentation", + "src": "6745:111:0", + "text": " @dev Grants `role` to `account`.\n Internal function without access restriction." + }, + "id": 276, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_grantRole", + "nameLocation": "6870:10:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 250, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 247, + "mutability": "mutable", + "name": "role", + "nameLocation": "6889:4:0", + "nodeType": "VariableDeclaration", + "scope": 276, + "src": "6881:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 246, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "6881:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 249, + "mutability": "mutable", + "name": "account", + "nameLocation": "6903:7:0", + "nodeType": "VariableDeclaration", + "scope": 276, + "src": "6895:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 248, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6895:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6880:31:0" + }, + "returnParameters": { + "id": 251, + "nodeType": "ParameterList", + "parameters": [], + "src": "6929:0:0" + }, + "scope": 308, + "src": "6861:233:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 306, + "nodeType": "Block", + "src": "7288:165:0", + "statements": [ + { + "condition": { + "arguments": [ + { + "id": 285, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "7310:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 286, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "7316:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 284, + "name": "hasRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 81, + "src": "7302:7:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_bytes32_$_t_address_$returns$_t_bool_$", + "typeString": "function (bytes32,address) view returns (bool)" + } + }, + "id": 287, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7302:22:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 305, + "nodeType": "IfStatement", + "src": "7298:149:0", + "trueBody": { + "id": 304, + "nodeType": "Block", + "src": "7326:121:0", + "statements": [ + { + "expression": { + "id": 295, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "expression": { + "baseExpression": { + "id": 288, + "name": "_roles", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 24, + "src": "7340:6:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_bytes32_$_t_struct$_RoleData_$19_storage_$", + "typeString": "mapping(bytes32 => struct AccessControl.RoleData storage ref)" + } + }, + "id": 290, + "indexExpression": { + "id": 289, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "7347:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7340:12:0", + "typeDescriptions": { + "typeIdentifier": "t_struct$_RoleData_$19_storage", + "typeString": "struct AccessControl.RoleData storage ref" + } + }, + "id": 291, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "members", + "nodeType": "MemberAccess", + "referencedDeclaration": 16, + "src": "7340:20:0", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_bool_$", + "typeString": "mapping(address => bool)" + } + }, + "id": 293, + "indexExpression": { + "id": 292, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "7361:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "7340:29:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 294, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7372:5:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "7340:37:0", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 296, + "nodeType": "ExpressionStatement", + "src": "7340:37:0" + }, + { + "eventCall": { + "arguments": [ + { + "id": 298, + "name": "role", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 279, + "src": "7408:4:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 299, + "name": "account", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 281, + "src": "7414:7:0", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 300, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "7423:10:0", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 301, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7423:12:0", + "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" + } + ], + "id": 297, + "name": "RoleRevoked", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 338, + "src": "7396:11:0", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_bytes32_$_t_address_$_t_address_$returns$__$", + "typeString": "function (bytes32,address,address)" + } + }, + "id": 302, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7396:40:0", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 303, + "nodeType": "EmitStatement", + "src": "7391:45:0" + } + ] + } + } + ] + }, + "documentation": { + "id": 277, + "nodeType": "StructuredDocumentation", + "src": "7100:114:0", + "text": " @dev Revokes `role` from `account`.\n Internal function without access restriction." + }, + "id": 307, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_revokeRole", + "nameLocation": "7228:11:0", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 282, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 279, + "mutability": "mutable", + "name": "role", + "nameLocation": "7248:4:0", + "nodeType": "VariableDeclaration", + "scope": 307, + "src": "7240:12:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 278, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7240:7:0", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 281, + "mutability": "mutable", + "name": "account", + "nameLocation": "7262:7:0", + "nodeType": "VariableDeclaration", + "scope": 307, + "src": "7254:15:0", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 280, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7254:7:0", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7239:31:0" + }, + "returnParameters": { + "id": 283, + "nodeType": "ParameterList", + "parameters": [], + "src": "7288:0:0" + }, + "scope": 308, + "src": "7219:234:0", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 309, + "src": "1806:5649:0", + "usedErrors": [] + } + ], + "src": "108:7348:0" + }, + "id": 0 + }, + "@openzeppelin/contracts/access/IAccessControl.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/access/IAccessControl.sol", + "exportedSymbols": { + "IAccessControl": [ + 381 + ] + }, + "id": 382, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 310, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "94:23:1" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 311, + "nodeType": "StructuredDocumentation", + "src": "119:89:1", + "text": " @dev External interface of AccessControl declared to support ERC165 detection." + }, + "fullyImplemented": false, + "id": 381, + "linearizedBaseContracts": [ + 381 + ], + "name": "IAccessControl", + "nameLocation": "219:14:1", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 312, + "nodeType": "StructuredDocumentation", + "src": "240:292:1", + "text": " @dev Emitted when `newAdminRole` is set as ``role``'s admin role, replacing `previousAdminRole`\n `DEFAULT_ADMIN_ROLE` is the starting admin for all roles, despite\n {RoleAdminChanged} not being emitted signaling this.\n _Available since v3.1._" + }, + "id": 320, + "name": "RoleAdminChanged", + "nameLocation": "543:16:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 319, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 314, + "indexed": true, + "mutability": "mutable", + "name": "role", + "nameLocation": "576:4:1", + "nodeType": "VariableDeclaration", + "scope": 320, + "src": "560:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 313, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "560:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 316, + "indexed": true, + "mutability": "mutable", + "name": "previousAdminRole", + "nameLocation": "598:17:1", + "nodeType": "VariableDeclaration", + "scope": 320, + "src": "582:33:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 315, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "582:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 318, + "indexed": true, + "mutability": "mutable", + "name": "newAdminRole", + "nameLocation": "633:12:1", + "nodeType": "VariableDeclaration", + "scope": 320, + "src": "617:28:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 317, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "617:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "559:87:1" + }, + "src": "537:110:1" + }, + { + "anonymous": false, + "documentation": { + "id": 321, + "nodeType": "StructuredDocumentation", + "src": "653:212:1", + "text": " @dev Emitted when `account` is granted `role`.\n `sender` is the account that originated the contract call, an admin role\n bearer except when using {AccessControl-_setupRole}." + }, + "id": 329, + "name": "RoleGranted", + "nameLocation": "876:11:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 328, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 323, + "indexed": true, + "mutability": "mutable", + "name": "role", + "nameLocation": "904:4:1", + "nodeType": "VariableDeclaration", + "scope": 329, + "src": "888:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 322, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "888:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 325, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "926:7:1", + "nodeType": "VariableDeclaration", + "scope": 329, + "src": "910:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 324, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "910:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 327, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "951:6:1", + "nodeType": "VariableDeclaration", + "scope": 329, + "src": "935:22:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 326, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "935:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "887:71:1" + }, + "src": "870:89:1" + }, + { + "anonymous": false, + "documentation": { + "id": 330, + "nodeType": "StructuredDocumentation", + "src": "965:275:1", + "text": " @dev Emitted when `account` is revoked `role`.\n `sender` is the account that originated the contract call:\n - if using `revokeRole`, it is the admin role bearer\n - if using `renounceRole`, it is the role bearer (i.e. `account`)" + }, + "id": 338, + "name": "RoleRevoked", + "nameLocation": "1251:11:1", + "nodeType": "EventDefinition", + "parameters": { + "id": 337, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 332, + "indexed": true, + "mutability": "mutable", + "name": "role", + "nameLocation": "1279:4:1", + "nodeType": "VariableDeclaration", + "scope": 338, + "src": "1263:20:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 331, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1263:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 334, + "indexed": true, + "mutability": "mutable", + "name": "account", + "nameLocation": "1301:7:1", + "nodeType": "VariableDeclaration", + "scope": 338, + "src": "1285:23:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 333, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1285:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 336, + "indexed": true, + "mutability": "mutable", + "name": "sender", + "nameLocation": "1326:6:1", + "nodeType": "VariableDeclaration", + "scope": 338, + "src": "1310:22:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 335, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1310:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1262:71:1" + }, + "src": "1245:89:1" + }, + { + "documentation": { + "id": 339, + "nodeType": "StructuredDocumentation", + "src": "1340:76:1", + "text": " @dev Returns `true` if `account` has been granted `role`." + }, + "functionSelector": "91d14854", + "id": 348, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "hasRole", + "nameLocation": "1430:7:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 344, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 341, + "mutability": "mutable", + "name": "role", + "nameLocation": "1446:4:1", + "nodeType": "VariableDeclaration", + "scope": 348, + "src": "1438:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 340, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1438:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 343, + "mutability": "mutable", + "name": "account", + "nameLocation": "1460:7:1", + "nodeType": "VariableDeclaration", + "scope": 348, + "src": "1452:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 342, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1452:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1437:31:1" + }, + "returnParameters": { + "id": 347, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 346, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 348, + "src": "1492:4:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 345, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1492:4:1", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1491:6:1" + }, + "scope": 381, + "src": "1421:77:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 349, + "nodeType": "StructuredDocumentation", + "src": "1504:184:1", + "text": " @dev Returns the admin role that controls `role`. See {grantRole} and\n {revokeRole}.\n To change a role's admin, use {AccessControl-_setRoleAdmin}." + }, + "functionSelector": "248a9ca3", + "id": 356, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getRoleAdmin", + "nameLocation": "1702:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 352, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 351, + "mutability": "mutable", + "name": "role", + "nameLocation": "1723:4:1", + "nodeType": "VariableDeclaration", + "scope": 356, + "src": "1715:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 350, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1715:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1714:14:1" + }, + "returnParameters": { + "id": 355, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 354, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 356, + "src": "1752:7:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 353, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1752:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "1751:9:1" + }, + "scope": 381, + "src": "1693:68:1", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 357, + "nodeType": "StructuredDocumentation", + "src": "1767:239:1", + "text": " @dev Grants `role` to `account`.\n If `account` had not been already granted `role`, emits a {RoleGranted}\n event.\n Requirements:\n - the caller must have ``role``'s admin role." + }, + "functionSelector": "2f2ff15d", + "id": 364, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "grantRole", + "nameLocation": "2020:9:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 362, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 359, + "mutability": "mutable", + "name": "role", + "nameLocation": "2038:4:1", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2030:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 358, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2030:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 361, + "mutability": "mutable", + "name": "account", + "nameLocation": "2052:7:1", + "nodeType": "VariableDeclaration", + "scope": 364, + "src": "2044:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 360, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2044:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2029:31:1" + }, + "returnParameters": { + "id": 363, + "nodeType": "ParameterList", + "parameters": [], + "src": "2069:0:1" + }, + "scope": 381, + "src": "2011:59:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 365, + "nodeType": "StructuredDocumentation", + "src": "2076:223:1", + "text": " @dev Revokes `role` from `account`.\n If `account` had been granted `role`, emits a {RoleRevoked} event.\n Requirements:\n - the caller must have ``role``'s admin role." + }, + "functionSelector": "d547741f", + "id": 372, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "revokeRole", + "nameLocation": "2313:10:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 370, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 367, + "mutability": "mutable", + "name": "role", + "nameLocation": "2332:4:1", + "nodeType": "VariableDeclaration", + "scope": 372, + "src": "2324:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 366, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2324:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 369, + "mutability": "mutable", + "name": "account", + "nameLocation": "2346:7:1", + "nodeType": "VariableDeclaration", + "scope": 372, + "src": "2338:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 368, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2338:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2323:31:1" + }, + "returnParameters": { + "id": 371, + "nodeType": "ParameterList", + "parameters": [], + "src": "2363:0:1" + }, + "scope": 381, + "src": "2304:60:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 373, + "nodeType": "StructuredDocumentation", + "src": "2370:480:1", + "text": " @dev Revokes `role` from the calling account.\n Roles are often managed via {grantRole} and {revokeRole}: this function's\n purpose is to provide a mechanism for accounts to lose their privileges\n if they are compromised (such as when a trusted device is misplaced).\n If the calling account had been granted `role`, emits a {RoleRevoked}\n event.\n Requirements:\n - the caller must be `account`." + }, + "functionSelector": "36568abe", + "id": 380, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "renounceRole", + "nameLocation": "2864:12:1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 378, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 375, + "mutability": "mutable", + "name": "role", + "nameLocation": "2885:4:1", + "nodeType": "VariableDeclaration", + "scope": 380, + "src": "2877:12:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 374, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "2877:7:1", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 377, + "mutability": "mutable", + "name": "account", + "nameLocation": "2899:7:1", + "nodeType": "VariableDeclaration", + "scope": 380, + "src": "2891:15:1", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 376, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2891:7:1", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2876:31:1" + }, + "returnParameters": { + "id": 379, + "nodeType": "ParameterList", + "parameters": [], + "src": "2916:0:1" + }, + "scope": 381, + "src": "2855:62:1", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 382, + "src": "209:2710:1", + "usedErrors": [] + } + ], + "src": "94:2826:1" + }, + "id": 1 + }, + "@openzeppelin/contracts/access/Ownable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "exportedSymbols": { + "Context": [ + 758 + ], + "Ownable": [ + 486 + ] + }, + "id": 487, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 383, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "87:23:2" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "file": "../utils/Context.sol", + "id": 384, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 487, + "sourceUnit": 759, + "src": "112:30:2", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 386, + "name": "Context", + "nodeType": "IdentifierPath", + "referencedDeclaration": 758, + "src": "668:7:2" + }, + "id": 387, + "nodeType": "InheritanceSpecifier", + "src": "668:7:2" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 385, + "nodeType": "StructuredDocumentation", + "src": "144:494:2", + "text": " @dev Contract module which provides a basic access control mechanism, where\n there is an account (an owner) that can be granted exclusive access to\n specific functions.\n By default, the owner account will be the one that deploys the contract. This\n can later be changed with {transferOwnership}.\n This module is used through inheritance. It will make available the modifier\n `onlyOwner`, which can be applied to your functions to restrict their use to\n the owner." + }, + "fullyImplemented": true, + "id": 486, + "linearizedBaseContracts": [ + 486, + 758 + ], + "name": "Ownable", + "nameLocation": "657:7:2", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 389, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "698:6:2", + "nodeType": "VariableDeclaration", + "scope": 486, + "src": "682:22:2", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 388, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "682:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "anonymous": false, + "id": 395, + "name": "OwnershipTransferred", + "nameLocation": "717:20:2", + "nodeType": "EventDefinition", + "parameters": { + "id": 394, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 391, + "indexed": true, + "mutability": "mutable", + "name": "previousOwner", + "nameLocation": "754:13:2", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "738:29:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 390, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "738:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 393, + "indexed": true, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "785:8:2", + "nodeType": "VariableDeclaration", + "scope": 395, + "src": "769:24:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 392, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "769:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "737:57:2" + }, + "src": "711:84:2" + }, + { + "body": { + "id": 404, + "nodeType": "Block", + "src": "911:49:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 400, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "940:10:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 401, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "940:12:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 399, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "921:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "921:32:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 403, + "nodeType": "ExpressionStatement", + "src": "921:32:2" + } + ] + }, + "documentation": { + "id": 396, + "nodeType": "StructuredDocumentation", + "src": "801:91:2", + "text": " @dev Initializes the contract setting the deployer as the initial owner." + }, + "id": 405, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 397, + "nodeType": "ParameterList", + "parameters": [], + "src": "908:2:2" + }, + "returnParameters": { + "id": 398, + "nodeType": "ParameterList", + "parameters": [], + "src": "911:0:2" + }, + "scope": 486, + "src": "897:63:2", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 413, + "nodeType": "Block", + "src": "1091:30:2", + "statements": [ + { + "expression": { + "id": 411, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "1108:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 410, + "id": 412, + "nodeType": "Return", + "src": "1101:13:2" + } + ] + }, + "documentation": { + "id": 406, + "nodeType": "StructuredDocumentation", + "src": "966:65:2", + "text": " @dev Returns the address of the current owner." + }, + "functionSelector": "8da5cb5b", + "id": 414, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "owner", + "nameLocation": "1045:5:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 407, + "nodeType": "ParameterList", + "parameters": [], + "src": "1050:2:2" + }, + "returnParameters": { + "id": 410, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 409, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 414, + "src": "1082:7:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 408, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1082:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1081:9:2" + }, + "scope": 486, + "src": "1036:85:2", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 427, + "nodeType": "Block", + "src": "1230:96:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 422, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 418, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "1248:5:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 419, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1248:7:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 420, + "name": "_msgSender", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 748, + "src": "1259:10:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 421, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1259:12:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1248:23:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572", + "id": 423, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1273:34:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + }, + "value": "Ownable: caller is not the owner" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_9924ebdf1add33d25d4ef888e16131f0a5687b0580a36c21b5c301a6c462effe", + "typeString": "literal_string \"Ownable: caller is not the owner\"" + } + ], + "id": 417, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1240:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 424, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1240:68:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 425, + "nodeType": "ExpressionStatement", + "src": "1240:68:2" + }, + { + "id": 426, + "nodeType": "PlaceholderStatement", + "src": "1318:1:2" + } + ] + }, + "documentation": { + "id": 415, + "nodeType": "StructuredDocumentation", + "src": "1127:77:2", + "text": " @dev Throws if called by any account other than the owner." + }, + "id": 428, + "name": "onlyOwner", + "nameLocation": "1218:9:2", + "nodeType": "ModifierDefinition", + "parameters": { + "id": 416, + "nodeType": "ParameterList", + "parameters": [], + "src": "1227:2:2" + }, + "src": "1209:117:2", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 441, + "nodeType": "Block", + "src": "1722:47:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "arguments": [ + { + "hexValue": "30", + "id": 437, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1759:1:2", + "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": 436, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1751:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 435, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1751:7:2", + "typeDescriptions": {} + } + }, + "id": 438, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1751:10:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 434, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "1732:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 439, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1732:30:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 440, + "nodeType": "ExpressionStatement", + "src": "1732:30:2" + } + ] + }, + "documentation": { + "id": 429, + "nodeType": "StructuredDocumentation", + "src": "1332:331:2", + "text": " @dev Leaves the contract without owner. It will not be possible to call\n `onlyOwner` functions anymore. Can only be called by the current owner.\n NOTE: Renouncing ownership will leave the contract without an owner,\n thereby removing any functionality that is only available to the owner." + }, + "functionSelector": "715018a6", + "id": 442, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 432, + "kind": "modifierInvocation", + "modifierName": { + "id": 431, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "1712:9:2" + }, + "nodeType": "ModifierInvocation", + "src": "1712:9:2" + } + ], + "name": "renounceOwnership", + "nameLocation": "1677:17:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 430, + "nodeType": "ParameterList", + "parameters": [], + "src": "1694:2:2" + }, + "returnParameters": { + "id": 433, + "nodeType": "ParameterList", + "parameters": [], + "src": "1722:0:2" + }, + "scope": 486, + "src": "1668:101:2", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 464, + "nodeType": "Block", + "src": "1988:128:2", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 456, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 451, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "2006:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "arguments": [ + { + "hexValue": "30", + "id": 454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2026:1:2", + "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": 453, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2018:7:2", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 452, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2018:7:2", + "typeDescriptions": {} + } + }, + "id": 455, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2018:10:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2006:22:2", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "4f776e61626c653a206e6577206f776e657220697320746865207a65726f2061646472657373", + "id": 457, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2030:40:2", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + }, + "value": "Ownable: new owner is the zero address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_245f15ff17f551913a7a18385165551503906a406f905ac1c2437281a7cd0cfe", + "typeString": "literal_string \"Ownable: new owner is the zero address\"" + } + ], + "id": 450, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1998:7:2", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 458, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1998:73:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 459, + "nodeType": "ExpressionStatement", + "src": "1998:73:2" + }, + { + "expression": { + "arguments": [ + { + "id": 461, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 445, + "src": "2100:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 460, + "name": "_transferOwnership", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 485, + "src": "2081:18:2", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_address_$returns$__$", + "typeString": "function (address)" + } + }, + "id": 462, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2081:28:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 463, + "nodeType": "ExpressionStatement", + "src": "2081:28:2" + } + ] + }, + "documentation": { + "id": 443, + "nodeType": "StructuredDocumentation", + "src": "1775:138:2", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Can only be called by the current owner." + }, + "functionSelector": "f2fde38b", + "id": 465, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 448, + "kind": "modifierInvocation", + "modifierName": { + "id": 447, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "1978:9:2" + }, + "nodeType": "ModifierInvocation", + "src": "1978:9:2" + } + ], + "name": "transferOwnership", + "nameLocation": "1927:17:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 446, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 445, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "1953:8:2", + "nodeType": "VariableDeclaration", + "scope": 465, + "src": "1945:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 444, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1945:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1944:18:2" + }, + "returnParameters": { + "id": 449, + "nodeType": "ParameterList", + "parameters": [], + "src": "1988:0:2" + }, + "scope": 486, + "src": "1918:198:2", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "public" + }, + { + "body": { + "id": 484, + "nodeType": "Block", + "src": "2333:124:2", + "statements": [ + { + "assignments": [ + 472 + ], + "declarations": [ + { + "constant": false, + "id": 472, + "mutability": "mutable", + "name": "oldOwner", + "nameLocation": "2351:8:2", + "nodeType": "VariableDeclaration", + "scope": 484, + "src": "2343:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 471, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2343:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 474, + "initialValue": { + "id": 473, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "2362:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2343:25:2" + }, + { + "expression": { + "id": 477, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 475, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 389, + "src": "2378:6:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 476, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 468, + "src": "2387:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2378:17:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 478, + "nodeType": "ExpressionStatement", + "src": "2378:17:2" + }, + { + "eventCall": { + "arguments": [ + { + "id": 480, + "name": "oldOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 472, + "src": "2431:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 481, + "name": "newOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 468, + "src": "2441:8:2", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 479, + "name": "OwnershipTransferred", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 395, + "src": "2410:20:2", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_address_$_t_address_$returns$__$", + "typeString": "function (address,address)" + } + }, + "id": 482, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2410:40:2", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 483, + "nodeType": "EmitStatement", + "src": "2405:45:2" + } + ] + }, + "documentation": { + "id": 466, + "nodeType": "StructuredDocumentation", + "src": "2122:143:2", + "text": " @dev Transfers ownership of the contract to a new account (`newOwner`).\n Internal function without access restriction." + }, + "id": 485, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_transferOwnership", + "nameLocation": "2279:18:2", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 469, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 468, + "mutability": "mutable", + "name": "newOwner", + "nameLocation": "2306:8:2", + "nodeType": "VariableDeclaration", + "scope": 485, + "src": "2298:16:2", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 467, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2298:7:2", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2297:18:2" + }, + "returnParameters": { + "id": 470, + "nodeType": "ParameterList", + "parameters": [], + "src": "2333:0:2" + }, + "scope": 486, + "src": "2270:187:2", + "stateMutability": "nonpayable", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 487, + "src": "639:1820:2", + "usedErrors": [] + } + ], + "src": "87:2373:2" + }, + "id": 2 + }, + "@openzeppelin/contracts/token/ERC20/IERC20.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "exportedSymbols": { + "IERC20": [ + 564 + ] + }, + "id": 565, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 488, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "106:23:3" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 489, + "nodeType": "StructuredDocumentation", + "src": "131:70:3", + "text": " @dev Interface of the ERC20 standard as defined in the EIP." + }, + "fullyImplemented": false, + "id": 564, + "linearizedBaseContracts": [ + 564 + ], + "name": "IERC20", + "nameLocation": "212:6:3", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 490, + "nodeType": "StructuredDocumentation", + "src": "225:66:3", + "text": " @dev Returns the amount of tokens in existence." + }, + "functionSelector": "18160ddd", + "id": 495, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "305:11:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 491, + "nodeType": "ParameterList", + "parameters": [], + "src": "316:2:3" + }, + "returnParameters": { + "id": 494, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 493, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 495, + "src": "342:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 492, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "342:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "341:9:3" + }, + "scope": 564, + "src": "296:55:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 496, + "nodeType": "StructuredDocumentation", + "src": "357:72:3", + "text": " @dev Returns the amount of tokens owned by `account`." + }, + "functionSelector": "70a08231", + "id": 503, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "443:9:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 499, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 498, + "mutability": "mutable", + "name": "account", + "nameLocation": "461:7:3", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "453:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 497, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "453:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "452:17:3" + }, + "returnParameters": { + "id": 502, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 501, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 503, + "src": "493:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 500, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "493:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "492:9:3" + }, + "scope": 564, + "src": "434:68:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 504, + "nodeType": "StructuredDocumentation", + "src": "508:202:3", + "text": " @dev Moves `amount` 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", + "id": 513, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transfer", + "nameLocation": "724:8:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 509, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 506, + "mutability": "mutable", + "name": "to", + "nameLocation": "741:2:3", + "nodeType": "VariableDeclaration", + "scope": 513, + "src": "733:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 505, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "733:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 508, + "mutability": "mutable", + "name": "amount", + "nameLocation": "753:6:3", + "nodeType": "VariableDeclaration", + "scope": 513, + "src": "745:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 507, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "745:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "732:28:3" + }, + "returnParameters": { + "id": 512, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 511, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 513, + "src": "779:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 510, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "779:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "778:6:3" + }, + "scope": 564, + "src": "715:70:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 514, + "nodeType": "StructuredDocumentation", + "src": "791:264:3", + "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", + "id": 523, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "allowance", + "nameLocation": "1069:9:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 519, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 516, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1087:5:3", + "nodeType": "VariableDeclaration", + "scope": 523, + "src": "1079:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 515, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1079:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 518, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1102:7:3", + "nodeType": "VariableDeclaration", + "scope": 523, + "src": "1094:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 517, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1094:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1078:32:3" + }, + "returnParameters": { + "id": 522, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 521, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 523, + "src": "1134:7:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 520, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1134:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1133:9:3" + }, + "scope": 564, + "src": "1060:83:3", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 524, + "nodeType": "StructuredDocumentation", + "src": "1149:642:3", + "text": " @dev Sets `amount` as the allowance of `spender` over the 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", + "id": 533, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "1805:7:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 529, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 526, + "mutability": "mutable", + "name": "spender", + "nameLocation": "1821:7:3", + "nodeType": "VariableDeclaration", + "scope": 533, + "src": "1813:15:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 525, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1813:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 528, + "mutability": "mutable", + "name": "amount", + "nameLocation": "1838:6:3", + "nodeType": "VariableDeclaration", + "scope": 533, + "src": "1830:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 527, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1830:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1812:33:3" + }, + "returnParameters": { + "id": 532, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 531, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 533, + "src": "1864:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 530, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1864:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1863:6:3" + }, + "scope": 564, + "src": "1796:74:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 534, + "nodeType": "StructuredDocumentation", + "src": "1876:287:3", + "text": " @dev Moves `amount` tokens from `from` to `to` using the\n allowance mechanism. `amount` 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", + "id": 545, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "2177:12:3", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 541, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 536, + "mutability": "mutable", + "name": "from", + "nameLocation": "2207:4:3", + "nodeType": "VariableDeclaration", + "scope": 545, + "src": "2199:12:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 535, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2199:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 538, + "mutability": "mutable", + "name": "to", + "nameLocation": "2229:2:3", + "nodeType": "VariableDeclaration", + "scope": 545, + "src": "2221:10:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 537, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2221:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 540, + "mutability": "mutable", + "name": "amount", + "nameLocation": "2249:6:3", + "nodeType": "VariableDeclaration", + "scope": 545, + "src": "2241:14:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 539, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2241:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2189:72:3" + }, + "returnParameters": { + "id": 544, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 543, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 545, + "src": "2280:4:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 542, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2280:4:3", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "2279:6:3" + }, + "scope": 564, + "src": "2168:118:3", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "anonymous": false, + "documentation": { + "id": 546, + "nodeType": "StructuredDocumentation", + "src": "2292:158:3", + "text": " @dev Emitted when `value` tokens are moved from one account (`from`) to\n another (`to`).\n Note that `value` may be zero." + }, + "id": 554, + "name": "Transfer", + "nameLocation": "2461:8:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 553, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 548, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "2486:4:3", + "nodeType": "VariableDeclaration", + "scope": 554, + "src": "2470:20:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 547, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2470:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 550, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "2508:2:3", + "nodeType": "VariableDeclaration", + "scope": 554, + "src": "2492:18:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 549, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2492:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 552, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "2520:5:3", + "nodeType": "VariableDeclaration", + "scope": 554, + "src": "2512:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 551, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2512:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2469:57:3" + }, + "src": "2455:72:3" + }, + { + "anonymous": false, + "documentation": { + "id": 555, + "nodeType": "StructuredDocumentation", + "src": "2533:148:3", + "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." + }, + "id": 563, + "name": "Approval", + "nameLocation": "2692:8:3", + "nodeType": "EventDefinition", + "parameters": { + "id": 562, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 557, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "2717:5:3", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "2701:21:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 556, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2701:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 559, + "indexed": true, + "mutability": "mutable", + "name": "spender", + "nameLocation": "2740:7:3", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "2724:23:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 558, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2724:7:3", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 561, + "indexed": false, + "mutability": "mutable", + "name": "value", + "nameLocation": "2757:5:3", + "nodeType": "VariableDeclaration", + "scope": 563, + "src": "2749:13:3", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 560, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2749:7:3", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2700:63:3" + }, + "src": "2686:78:3" + } + ], + "scope": 565, + "src": "202:2564:3", + "usedErrors": [] + } + ], + "src": "106:2661:3" + }, + "id": 3 + }, + "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "exportedSymbols": { + "IERC20": [ + 564 + ], + "IERC20Metadata": [ + 589 + ] + }, + "id": 590, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 566, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "110:23:4" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "../IERC20.sol", + "id": 567, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 590, + "sourceUnit": 565, + "src": "135:23:4", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 569, + "name": "IERC20", + "nodeType": "IdentifierPath", + "referencedDeclaration": 564, + "src": "305:6:4" + }, + "id": 570, + "nodeType": "InheritanceSpecifier", + "src": "305:6:4" + } + ], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 568, + "nodeType": "StructuredDocumentation", + "src": "160:116:4", + "text": " @dev Interface for the optional metadata functions from the ERC20 standard.\n _Available since v4.1._" + }, + "fullyImplemented": false, + "id": 589, + "linearizedBaseContracts": [ + 589, + 564 + ], + "name": "IERC20Metadata", + "nameLocation": "287:14:4", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 571, + "nodeType": "StructuredDocumentation", + "src": "318:54:4", + "text": " @dev Returns the name of the token." + }, + "functionSelector": "06fdde03", + "id": 576, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "name", + "nameLocation": "386:4:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 572, + "nodeType": "ParameterList", + "parameters": [], + "src": "390:2:4" + }, + "returnParameters": { + "id": 575, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 574, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 576, + "src": "416:13:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 573, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "416:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "415:15:4" + }, + "scope": 589, + "src": "377:54:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 577, + "nodeType": "StructuredDocumentation", + "src": "437:56:4", + "text": " @dev Returns the symbol of the token." + }, + "functionSelector": "95d89b41", + "id": 582, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "symbol", + "nameLocation": "507:6:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 578, + "nodeType": "ParameterList", + "parameters": [], + "src": "513:2:4" + }, + "returnParameters": { + "id": 581, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 580, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 582, + "src": "539:13:4", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 579, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "539:6:4", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "538:15:4" + }, + "scope": 589, + "src": "498:56:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 583, + "nodeType": "StructuredDocumentation", + "src": "560:65:4", + "text": " @dev Returns the decimals places of the token." + }, + "functionSelector": "313ce567", + "id": 588, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "decimals", + "nameLocation": "639:8:4", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 584, + "nodeType": "ParameterList", + "parameters": [], + "src": "647:2:4" + }, + "returnParameters": { + "id": 587, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 586, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 588, + "src": "673:5:4", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "typeName": { + "id": 585, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "673:5:4", + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "visibility": "internal" + } + ], + "src": "672:7:4" + }, + "scope": 589, + "src": "630:50:4", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 590, + "src": "277:405:4", + "usedErrors": [] + } + ], + "src": "110:573:4" + }, + "id": 4 + }, + "@openzeppelin/contracts/token/ERC721/IERC721.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "exportedSymbols": { + "IERC165": [ + 1071 + ], + "IERC721": [ + 705 + ] + }, + "id": 706, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 591, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "93:23:5" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "../../utils/introspection/IERC165.sol", + "id": 592, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 706, + "sourceUnit": 1072, + "src": "118:47:5", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 594, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1071, + "src": "256:7:5" + }, + "id": 595, + "nodeType": "InheritanceSpecifier", + "src": "256:7:5" + } + ], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 593, + "nodeType": "StructuredDocumentation", + "src": "167:67:5", + "text": " @dev Required interface of an ERC721 compliant contract." + }, + "fullyImplemented": false, + "id": 705, + "linearizedBaseContracts": [ + 705, + 1071 + ], + "name": "IERC721", + "nameLocation": "245:7:5", + "nodeType": "ContractDefinition", + "nodes": [ + { + "anonymous": false, + "documentation": { + "id": 596, + "nodeType": "StructuredDocumentation", + "src": "270:88:5", + "text": " @dev Emitted when `tokenId` token is transferred from `from` to `to`." + }, + "id": 604, + "name": "Transfer", + "nameLocation": "369:8:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 603, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 598, + "indexed": true, + "mutability": "mutable", + "name": "from", + "nameLocation": "394:4:5", + "nodeType": "VariableDeclaration", + "scope": 604, + "src": "378:20:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 597, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "378:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 600, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "416:2:5", + "nodeType": "VariableDeclaration", + "scope": 604, + "src": "400:18:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 599, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "400:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 602, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "436:7:5", + "nodeType": "VariableDeclaration", + "scope": 604, + "src": "420:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 601, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "420:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "377:67:5" + }, + "src": "363:82:5" + }, + { + "anonymous": false, + "documentation": { + "id": 605, + "nodeType": "StructuredDocumentation", + "src": "451:94:5", + "text": " @dev Emitted when `owner` enables `approved` to manage the `tokenId` token." + }, + "id": 613, + "name": "Approval", + "nameLocation": "556:8:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 612, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 607, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "581:5:5", + "nodeType": "VariableDeclaration", + "scope": 613, + "src": "565:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 606, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "565:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 609, + "indexed": true, + "mutability": "mutable", + "name": "approved", + "nameLocation": "604:8:5", + "nodeType": "VariableDeclaration", + "scope": 613, + "src": "588:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 608, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "588:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 611, + "indexed": true, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "630:7:5", + "nodeType": "VariableDeclaration", + "scope": 613, + "src": "614:23:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 610, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "614:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "564:74:5" + }, + "src": "550:89:5" + }, + { + "anonymous": false, + "documentation": { + "id": 614, + "nodeType": "StructuredDocumentation", + "src": "645:117:5", + "text": " @dev Emitted when `owner` enables or disables (`approved`) `operator` to manage all of its assets." + }, + "id": 622, + "name": "ApprovalForAll", + "nameLocation": "773:14:5", + "nodeType": "EventDefinition", + "parameters": { + "id": 621, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 616, + "indexed": true, + "mutability": "mutable", + "name": "owner", + "nameLocation": "804:5:5", + "nodeType": "VariableDeclaration", + "scope": 622, + "src": "788:21:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 615, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "788:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 618, + "indexed": true, + "mutability": "mutable", + "name": "operator", + "nameLocation": "827:8:5", + "nodeType": "VariableDeclaration", + "scope": 622, + "src": "811:24:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 617, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "811:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 620, + "indexed": false, + "mutability": "mutable", + "name": "approved", + "nameLocation": "842:8:5", + "nodeType": "VariableDeclaration", + "scope": 622, + "src": "837:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 619, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "837:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "787:64:5" + }, + "src": "767:85:5" + }, + { + "documentation": { + "id": 623, + "nodeType": "StructuredDocumentation", + "src": "858:76:5", + "text": " @dev Returns the number of tokens in ``owner``'s account." + }, + "functionSelector": "70a08231", + "id": 630, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "balanceOf", + "nameLocation": "948:9:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 626, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 625, + "mutability": "mutable", + "name": "owner", + "nameLocation": "966:5:5", + "nodeType": "VariableDeclaration", + "scope": 630, + "src": "958:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 624, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "958:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "957:15:5" + }, + "returnParameters": { + "id": 629, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 628, + "mutability": "mutable", + "name": "balance", + "nameLocation": "1004:7:5", + "nodeType": "VariableDeclaration", + "scope": 630, + "src": "996:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 627, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "996:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "995:17:5" + }, + "scope": 705, + "src": "939:74:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 631, + "nodeType": "StructuredDocumentation", + "src": "1019:131:5", + "text": " @dev Returns the owner of the `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "6352211e", + "id": 638, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "ownerOf", + "nameLocation": "1164:7:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 634, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 633, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "1180:7:5", + "nodeType": "VariableDeclaration", + "scope": 638, + "src": "1172:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 632, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1172:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1171:17:5" + }, + "returnParameters": { + "id": 637, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 636, + "mutability": "mutable", + "name": "owner", + "nameLocation": "1220:5:5", + "nodeType": "VariableDeclaration", + "scope": 638, + "src": "1212:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 635, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1212:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1211:15:5" + }, + "scope": 705, + "src": "1155:72:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 639, + "nodeType": "StructuredDocumentation", + "src": "1233:690:5", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`, checking first that contract recipients\n are aware of the ERC721 protocol to prevent tokens from being forever locked.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be have been allowed to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "42842e0e", + "id": 648, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "1937:16:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 646, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 641, + "mutability": "mutable", + "name": "from", + "nameLocation": "1971:4:5", + "nodeType": "VariableDeclaration", + "scope": 648, + "src": "1963:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 640, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1963:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 643, + "mutability": "mutable", + "name": "to", + "nameLocation": "1993:2:5", + "nodeType": "VariableDeclaration", + "scope": 648, + "src": "1985:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 642, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1985:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 645, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2013:7:5", + "nodeType": "VariableDeclaration", + "scope": 648, + "src": "2005:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 644, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2005:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1953:73:5" + }, + "returnParameters": { + "id": 647, + "nodeType": "ParameterList", + "parameters": [], + "src": "2035:0:5" + }, + "scope": 705, + "src": "1928:108:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 649, + "nodeType": "StructuredDocumentation", + "src": "2042:504:5", + "text": " @dev Transfers `tokenId` token from `from` to `to`.\n WARNING: Usage of this method is discouraged, use {safeTransferFrom} whenever possible.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n Emits a {Transfer} event." + }, + "functionSelector": "23b872dd", + "id": 658, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "transferFrom", + "nameLocation": "2560:12:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 656, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 651, + "mutability": "mutable", + "name": "from", + "nameLocation": "2590:4:5", + "nodeType": "VariableDeclaration", + "scope": 658, + "src": "2582:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 650, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2582:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 653, + "mutability": "mutable", + "name": "to", + "nameLocation": "2612:2:5", + "nodeType": "VariableDeclaration", + "scope": 658, + "src": "2604:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 652, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2604:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 655, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "2632:7:5", + "nodeType": "VariableDeclaration", + "scope": 658, + "src": "2624:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 654, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "2624:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "2572:73:5" + }, + "returnParameters": { + "id": 657, + "nodeType": "ParameterList", + "parameters": [], + "src": "2654:0:5" + }, + "scope": 705, + "src": "2551:104:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 659, + "nodeType": "StructuredDocumentation", + "src": "2661:452:5", + "text": " @dev Gives permission to `to` to transfer `tokenId` token to another account.\n The approval is cleared when the token is transferred.\n Only a single account can be approved at a time, so approving the zero address clears previous approvals.\n Requirements:\n - The caller must own the token or be an approved operator.\n - `tokenId` must exist.\n Emits an {Approval} event." + }, + "functionSelector": "095ea7b3", + "id": 666, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "approve", + "nameLocation": "3127:7:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 664, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 661, + "mutability": "mutable", + "name": "to", + "nameLocation": "3143:2:5", + "nodeType": "VariableDeclaration", + "scope": 666, + "src": "3135:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 660, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3135:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 663, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3155:7:5", + "nodeType": "VariableDeclaration", + "scope": 666, + "src": "3147:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 662, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3147:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3134:29:5" + }, + "returnParameters": { + "id": 665, + "nodeType": "ParameterList", + "parameters": [], + "src": "3172:0:5" + }, + "scope": 705, + "src": "3118:55:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 667, + "nodeType": "StructuredDocumentation", + "src": "3179:139:5", + "text": " @dev Returns the account approved for `tokenId` token.\n Requirements:\n - `tokenId` must exist." + }, + "functionSelector": "081812fc", + "id": 674, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "getApproved", + "nameLocation": "3332:11:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 670, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 669, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "3352:7:5", + "nodeType": "VariableDeclaration", + "scope": 674, + "src": "3344:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 668, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "3344:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "3343:17:5" + }, + "returnParameters": { + "id": 673, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 672, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3392:8:5", + "nodeType": "VariableDeclaration", + "scope": 674, + "src": "3384:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 671, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3384:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3383:18:5" + }, + "scope": 705, + "src": "3323:79:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 675, + "nodeType": "StructuredDocumentation", + "src": "3408:309:5", + "text": " @dev Approve or remove `operator` as an operator for the caller.\n Operators can call {transferFrom} or {safeTransferFrom} for any token owned by the caller.\n Requirements:\n - The `operator` cannot be the caller.\n Emits an {ApprovalForAll} event." + }, + "functionSelector": "a22cb465", + "id": 682, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "setApprovalForAll", + "nameLocation": "3731:17:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 680, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 677, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3757:8:5", + "nodeType": "VariableDeclaration", + "scope": 682, + "src": "3749:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 676, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3749:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 679, + "mutability": "mutable", + "name": "_approved", + "nameLocation": "3772:9:5", + "nodeType": "VariableDeclaration", + "scope": 682, + "src": "3767:14:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 678, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3767:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "3748:34:5" + }, + "returnParameters": { + "id": 681, + "nodeType": "ParameterList", + "parameters": [], + "src": "3791:0:5" + }, + "scope": 705, + "src": "3722:70:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 683, + "nodeType": "StructuredDocumentation", + "src": "3798:138:5", + "text": " @dev Returns if the `operator` is allowed to manage all of the assets of `owner`.\n See {setApprovalForAll}" + }, + "functionSelector": "e985e9c5", + "id": 692, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "isApprovedForAll", + "nameLocation": "3950:16:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 688, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 685, + "mutability": "mutable", + "name": "owner", + "nameLocation": "3975:5:5", + "nodeType": "VariableDeclaration", + "scope": 692, + "src": "3967:13:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 684, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3967:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 687, + "mutability": "mutable", + "name": "operator", + "nameLocation": "3990:8:5", + "nodeType": "VariableDeclaration", + "scope": 692, + "src": "3982:16:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 686, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3982:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3966:33:5" + }, + "returnParameters": { + "id": 691, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 690, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 692, + "src": "4023:4:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 689, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4023:4:5", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "4022:6:5" + }, + "scope": 705, + "src": "3941:88:5", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 693, + "nodeType": "StructuredDocumentation", + "src": "4035:556:5", + "text": " @dev Safely transfers `tokenId` token from `from` to `to`.\n Requirements:\n - `from` cannot be the zero address.\n - `to` cannot be the zero address.\n - `tokenId` token must exist and be owned by `from`.\n - If the caller is not `from`, it must be approved to move this token by either {approve} or {setApprovalForAll}.\n - If `to` refers to a smart contract, it must implement {IERC721Receiver-onERC721Received}, which is called upon a safe transfer.\n Emits a {Transfer} event." + }, + "functionSelector": "b88d4fde", + "id": 704, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "safeTransferFrom", + "nameLocation": "4605:16:5", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 702, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 695, + "mutability": "mutable", + "name": "from", + "nameLocation": "4639:4:5", + "nodeType": "VariableDeclaration", + "scope": 704, + "src": "4631:12:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 694, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4631:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 697, + "mutability": "mutable", + "name": "to", + "nameLocation": "4661:2:5", + "nodeType": "VariableDeclaration", + "scope": 704, + "src": "4653:10:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4653:7:5", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 699, + "mutability": "mutable", + "name": "tokenId", + "nameLocation": "4681:7:5", + "nodeType": "VariableDeclaration", + "scope": 704, + "src": "4673:15:5", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 698, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "4673:7:5", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 701, + "mutability": "mutable", + "name": "data", + "nameLocation": "4713:4:5", + "nodeType": "VariableDeclaration", + "scope": 704, + "src": "4698:19:5", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 700, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "4698:5:5", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "4621:102:5" + }, + "returnParameters": { + "id": 703, + "nodeType": "ParameterList", + "parameters": [], + "src": "4732:0:5" + }, + "scope": 705, + "src": "4596:137:5", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "external" + } + ], + "scope": 706, + "src": "235:4500:5", + "usedErrors": [] + } + ], + "src": "93:4643:5" + }, + "id": 5 + }, + "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol", + "exportedSymbols": { + "IERC165": [ + 1071 + ], + "IERC721": [ + 705 + ], + "IERC721Enumerable": [ + 736 + ] + }, + "id": 737, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 707, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "129:23:6" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/IERC721.sol", + "file": "../IERC721.sol", + "id": 708, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 737, + "sourceUnit": 706, + "src": "154:24:6", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 710, + "name": "IERC721", + "nodeType": "IdentifierPath", + "referencedDeclaration": 705, + "src": "348:7:6" + }, + "id": 711, + "nodeType": "InheritanceSpecifier", + "src": "348:7:6" + } + ], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 709, + "nodeType": "StructuredDocumentation", + "src": "180:136:6", + "text": " @title ERC-721 Non-Fungible Token Standard, optional enumeration extension\n @dev See https://eips.ethereum.org/EIPS/eip-721" + }, + "fullyImplemented": false, + "id": 736, + "linearizedBaseContracts": [ + 736, + 705, + 1071 + ], + "name": "IERC721Enumerable", + "nameLocation": "327:17:6", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 712, + "nodeType": "StructuredDocumentation", + "src": "362:82:6", + "text": " @dev Returns the total amount of tokens stored by the contract." + }, + "functionSelector": "18160ddd", + "id": 717, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "totalSupply", + "nameLocation": "458:11:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 713, + "nodeType": "ParameterList", + "parameters": [], + "src": "469:2:6" + }, + "returnParameters": { + "id": 716, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 715, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 717, + "src": "495:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 714, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "495:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "494:9:6" + }, + "scope": 736, + "src": "449:55:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 718, + "nodeType": "StructuredDocumentation", + "src": "510:171:6", + "text": " @dev Returns a token ID owned by `owner` at a given `index` of its token list.\n Use along with {balanceOf} to enumerate all of ``owner``'s tokens." + }, + "functionSelector": "2f745c59", + "id": 727, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenOfOwnerByIndex", + "nameLocation": "695:19:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 723, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 720, + "mutability": "mutable", + "name": "owner", + "nameLocation": "723:5:6", + "nodeType": "VariableDeclaration", + "scope": 727, + "src": "715:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 719, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "715:7:6", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 722, + "mutability": "mutable", + "name": "index", + "nameLocation": "738:5:6", + "nodeType": "VariableDeclaration", + "scope": 727, + "src": "730:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 721, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "730:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "714:30:6" + }, + "returnParameters": { + "id": 726, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 725, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 727, + "src": "768:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 724, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "768:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "767:9:6" + }, + "scope": 736, + "src": "686:91:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + }, + { + "documentation": { + "id": 728, + "nodeType": "StructuredDocumentation", + "src": "783:164:6", + "text": " @dev Returns a token ID at a given `index` of all the tokens stored by the contract.\n Use along with {totalSupply} to enumerate all tokens." + }, + "functionSelector": "4f6ccce7", + "id": 735, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "tokenByIndex", + "nameLocation": "961:12:6", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 731, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 730, + "mutability": "mutable", + "name": "index", + "nameLocation": "982:5:6", + "nodeType": "VariableDeclaration", + "scope": 735, + "src": "974:13:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 729, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "974:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "973:15:6" + }, + "returnParameters": { + "id": 734, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 733, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 735, + "src": "1012:7:6", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 732, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1012:7:6", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1011:9:6" + }, + "scope": 736, + "src": "952:69:6", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 737, + "src": "317:706:6", + "usedErrors": [] + } + ], + "src": "129:895:6" + }, + "id": 6 + }, + "@openzeppelin/contracts/utils/Context.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Context.sol", + "exportedSymbols": { + "Context": [ + 758 + ] + }, + "id": 759, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 738, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "86:23:7" + }, + { + "abstract": true, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 739, + "nodeType": "StructuredDocumentation", + "src": "111:496:7", + "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, + "id": 758, + "linearizedBaseContracts": [ + 758 + ], + "name": "Context", + "nameLocation": "626:7:7", + "nodeType": "ContractDefinition", + "nodes": [ + { + "body": { + "id": 747, + "nodeType": "Block", + "src": "702:34:7", + "statements": [ + { + "expression": { + "expression": { + "id": 744, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "719:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 745, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "719:10:7", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 743, + "id": 746, + "nodeType": "Return", + "src": "712:17:7" + } + ] + }, + "id": 748, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgSender", + "nameLocation": "649:10:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 740, + "nodeType": "ParameterList", + "parameters": [], + "src": "659:2:7" + }, + "returnParameters": { + "id": 743, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 742, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 748, + "src": "693:7:7", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 741, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "693:7:7", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "692:9:7" + }, + "scope": 758, + "src": "640:96:7", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + }, + { + "body": { + "id": 756, + "nodeType": "Block", + "src": "809:32:7", + "statements": [ + { + "expression": { + "expression": { + "id": 753, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "826:3:7", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 754, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "data", + "nodeType": "MemberAccess", + "src": "826:8:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes calldata" + } + }, + "functionReturnParameters": 752, + "id": 755, + "nodeType": "Return", + "src": "819:15:7" + } + ] + }, + "id": 757, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_msgData", + "nameLocation": "751:8:7", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 749, + "nodeType": "ParameterList", + "parameters": [], + "src": "759:2:7" + }, + "returnParameters": { + "id": 752, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 751, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 757, + "src": "793:14:7", + "stateVariable": false, + "storageLocation": "calldata", + "typeDescriptions": { + "typeIdentifier": "t_bytes_calldata_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 750, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "793:5:7", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "src": "792:16:7" + }, + "scope": 758, + "src": "742:99:7", + "stateMutability": "view", + "virtual": true, + "visibility": "internal" + } + ], + "scope": 759, + "src": "608:235:7", + "usedErrors": [] + } + ], + "src": "86:758:7" + }, + "id": 7 + }, + "@openzeppelin/contracts/utils/Counters.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", + "exportedSymbols": { + "Counters": [ + 832 + ] + }, + "id": 833, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 760, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "87:23:8" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 761, + "nodeType": "StructuredDocumentation", + "src": "112:311:8", + "text": " @title Counters\n @author Matt Condon (@shrugs)\n @dev Provides counters that can only be incremented, decremented or reset. This can be used e.g. to track the number\n of elements in a mapping, issuing ERC721 ids, or counting request ids.\n Include with `using Counters for Counters.Counter;`" + }, + "fullyImplemented": true, + "id": 832, + "linearizedBaseContracts": [ + 832 + ], + "name": "Counters", + "nameLocation": "432:8:8", + "nodeType": "ContractDefinition", + "nodes": [ + { + "canonicalName": "Counters.Counter", + "id": 764, + "members": [ + { + "constant": false, + "id": 763, + "mutability": "mutable", + "name": "_value", + "nameLocation": "794:6:8", + "nodeType": "VariableDeclaration", + "scope": 764, + "src": "786:14:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 762, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "786:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "name": "Counter", + "nameLocation": "454:7:8", + "nodeType": "StructDefinition", + "scope": 832, + "src": "447:374:8", + "visibility": "public" + }, + { + "body": { + "id": 775, + "nodeType": "Block", + "src": "901:38:8", + "statements": [ + { + "expression": { + "expression": { + "id": 772, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 767, + "src": "918:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter storage pointer" + } + }, + "id": 773, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 763, + "src": "918:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 771, + "id": 774, + "nodeType": "Return", + "src": "911:21:8" + } + ] + }, + "id": 776, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "current", + "nameLocation": "836:7:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 768, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 767, + "mutability": "mutable", + "name": "counter", + "nameLocation": "860:7:8", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "844:23:8", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 766, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 765, + "name": "Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 764, + "src": "844:7:8" + }, + "referencedDeclaration": 764, + "src": "844:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "internal" + } + ], + "src": "843:25:8" + }, + "returnParameters": { + "id": 771, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 770, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 776, + "src": "892:7:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 769, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "892:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "891:9:8" + }, + "scope": 832, + "src": "827:112:8", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 789, + "nodeType": "Block", + "src": "998:70:8", + "statements": [ + { + "id": 788, + "nodeType": "UncheckedBlock", + "src": "1008:54:8", + "statements": [ + { + "expression": { + "id": 786, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 782, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 779, + "src": "1032:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter storage pointer" + } + }, + "id": 784, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 763, + "src": "1032:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "+=", + "rightHandSide": { + "hexValue": "31", + "id": 785, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1050:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1032:19:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 787, + "nodeType": "ExpressionStatement", + "src": "1032:19:8" + } + ] + } + ] + }, + "id": 790, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "increment", + "nameLocation": "954:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 780, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 779, + "mutability": "mutable", + "name": "counter", + "nameLocation": "980:7:8", + "nodeType": "VariableDeclaration", + "scope": 790, + "src": "964:23:8", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 778, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 777, + "name": "Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 764, + "src": "964:7:8" + }, + "referencedDeclaration": 764, + "src": "964:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "internal" + } + ], + "src": "963:25:8" + }, + "returnParameters": { + "id": 781, + "nodeType": "ParameterList", + "parameters": [], + "src": "998:0:8" + }, + "scope": 832, + "src": "945:123:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 817, + "nodeType": "Block", + "src": "1127:176:8", + "statements": [ + { + "assignments": [ + 797 + ], + "declarations": [ + { + "constant": false, + "id": 797, + "mutability": "mutable", + "name": "value", + "nameLocation": "1145:5:8", + "nodeType": "VariableDeclaration", + "scope": 817, + "src": "1137:13:8", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 796, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1137:7:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 800, + "initialValue": { + "expression": { + "id": 798, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 793, + "src": "1153:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter storage pointer" + } + }, + "id": 799, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 763, + "src": "1153:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1137:30:8" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 804, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 802, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 797, + "src": "1185:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "30", + "id": 803, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1193:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1185:9:8", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436f756e7465723a2064656372656d656e74206f766572666c6f77", + "id": 805, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1196:29:8", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f", + "typeString": "literal_string \"Counter: decrement overflow\"" + }, + "value": "Counter: decrement overflow" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_1dfd0d5389474d871b8e8929aab9d4def041f55f90f625754fb5f9a9ba08af6f", + "typeString": "literal_string \"Counter: decrement overflow\"" + } + ], + "id": 801, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1177:7:8", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 806, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1177:49:8", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 807, + "nodeType": "ExpressionStatement", + "src": "1177:49:8" + }, + { + "id": 816, + "nodeType": "UncheckedBlock", + "src": "1236:61:8", + "statements": [ + { + "expression": { + "id": 814, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 808, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 793, + "src": "1260:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter storage pointer" + } + }, + "id": 810, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 763, + "src": "1260:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 813, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 811, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 797, + "src": "1277:5:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "-", + "rightExpression": { + "hexValue": "31", + "id": 812, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1285:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1277:9:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1260:26:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 815, + "nodeType": "ExpressionStatement", + "src": "1260:26:8" + } + ] + } + ] + }, + "id": 818, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "decrement", + "nameLocation": "1083:9:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 794, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 793, + "mutability": "mutable", + "name": "counter", + "nameLocation": "1109:7:8", + "nodeType": "VariableDeclaration", + "scope": 818, + "src": "1093:23:8", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 792, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 791, + "name": "Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 764, + "src": "1093:7:8" + }, + "referencedDeclaration": 764, + "src": "1093:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "internal" + } + ], + "src": "1092:25:8" + }, + "returnParameters": { + "id": 795, + "nodeType": "ParameterList", + "parameters": [], + "src": "1127:0:8" + }, + "scope": 832, + "src": "1074:229:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 830, + "nodeType": "Block", + "src": "1358:35:8", + "statements": [ + { + "expression": { + "id": 828, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 824, + "name": "counter", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 821, + "src": "1368:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter storage pointer" + } + }, + "id": 826, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "_value", + "nodeType": "MemberAccess", + "referencedDeclaration": 763, + "src": "1368:14:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 827, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1385:1:8", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1368:18:8", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 829, + "nodeType": "ExpressionStatement", + "src": "1368:18:8" + } + ] + }, + "id": 831, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "reset", + "nameLocation": "1318:5:8", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 822, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 821, + "mutability": "mutable", + "name": "counter", + "nameLocation": "1340:7:8", + "nodeType": "VariableDeclaration", + "scope": 831, + "src": "1324:23:8", + "stateVariable": false, + "storageLocation": "storage", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 820, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 819, + "name": "Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 764, + "src": "1324:7:8" + }, + "referencedDeclaration": 764, + "src": "1324:7:8", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "internal" + } + ], + "src": "1323:25:8" + }, + "returnParameters": { + "id": 823, + "nodeType": "ParameterList", + "parameters": [], + "src": "1358:0:8" + }, + "scope": 832, + "src": "1309:84:8", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 833, + "src": "424:971:8", + "usedErrors": [] + } + ], + "src": "87:1309:8" + }, + "id": 8 + }, + "@openzeppelin/contracts/utils/Strings.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/Strings.sol", + "exportedSymbols": { + "Strings": [ + 1035 + ] + }, + "id": 1036, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 834, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "86:23:9" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "library", + "documentation": { + "id": 835, + "nodeType": "StructuredDocumentation", + "src": "111:34:9", + "text": " @dev String operations." + }, + "fullyImplemented": true, + "id": 1035, + "linearizedBaseContracts": [ + 1035 + ], + "name": "Strings", + "nameLocation": "154:7:9", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": true, + "id": 838, + "mutability": "constant", + "name": "_HEX_SYMBOLS", + "nameLocation": "193:12:9", + "nodeType": "VariableDeclaration", + "scope": 1035, + "src": "168:58:9", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + }, + "typeName": { + "id": 836, + "name": "bytes16", + "nodeType": "ElementaryTypeName", + "src": "168:7:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "value": { + "hexValue": "30313233343536373839616263646566", + "id": 837, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "208:18:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cb29997ed99ead0db59ce4d12b7d3723198c827273e5796737c926d78019c39f", + "typeString": "literal_string \"0123456789abcdef\"" + }, + "value": "0123456789abcdef" + }, + "visibility": "private" + }, + { + "body": { + "id": 916, + "nodeType": "Block", + "src": "399:632:9", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 848, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 846, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 841, + "src": "601:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 847, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "610:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "601:10:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 852, + "nodeType": "IfStatement", + "src": "597:51:9", + "trueBody": { + "id": 851, + "nodeType": "Block", + "src": "613:35:9", + "statements": [ + { + "expression": { + "hexValue": "30", + "id": 849, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "634:3:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "functionReturnParameters": 845, + "id": 850, + "nodeType": "Return", + "src": "627:10:9" + } + ] + } + }, + { + "assignments": [ + 854 + ], + "declarations": [ + { + "constant": false, + "id": 854, + "mutability": "mutable", + "name": "temp", + "nameLocation": "665:4:9", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "657:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 853, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "657:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 856, + "initialValue": { + "id": 855, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 841, + "src": "672:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "657:20:9" + }, + { + "assignments": [ + 858 + ], + "declarations": [ + { + "constant": false, + "id": 858, + "mutability": "mutable", + "name": "digits", + "nameLocation": "695:6:9", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "687:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 857, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "687:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 859, + "nodeType": "VariableDeclarationStatement", + "src": "687:14:9" + }, + { + "body": { + "id": 870, + "nodeType": "Block", + "src": "729:57:9", + "statements": [ + { + "expression": { + "id": 864, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "743:8:9", + "subExpression": { + "id": 863, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "743:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 865, + "nodeType": "ExpressionStatement", + "src": "743:8:9" + }, + { + "expression": { + "id": 868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 866, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 854, + "src": "765:4:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 867, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "773:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "765:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 869, + "nodeType": "ExpressionStatement", + "src": "765:10:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 860, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 854, + "src": "718:4:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 861, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "726:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "718:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 871, + "nodeType": "WhileStatement", + "src": "711:75:9" + }, + { + "assignments": [ + 873 + ], + "declarations": [ + { + "constant": false, + "id": 873, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "808:6:9", + "nodeType": "VariableDeclaration", + "scope": 916, + "src": "795:19:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 872, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "795:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 878, + "initialValue": { + "arguments": [ + { + "id": 876, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "827:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 875, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "817:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 874, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "821:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 877, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "817:17:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "795:39:9" + }, + { + "body": { + "id": 909, + "nodeType": "Block", + "src": "863:131:9", + "statements": [ + { + "expression": { + "id": 884, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 882, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "877:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "-=", + "rightHandSide": { + "hexValue": "31", + "id": 883, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "887:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "877:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 885, + "nodeType": "ExpressionStatement", + "src": "877:11:9" + }, + { + "expression": { + "id": 903, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 886, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 873, + "src": "902:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 888, + "indexExpression": { + "id": 887, + "name": "digits", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 858, + "src": "909:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "902:14:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 900, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "3438", + "id": 893, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "932:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_48_by_1", + "typeString": "int_const 48" + }, + "value": "48" + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 898, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 896, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 841, + "src": "945:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "%", + "rightExpression": { + "hexValue": "3130", + "id": 897, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "953:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "945:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 895, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "937:7:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 894, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "937:7:9", + "typeDescriptions": {} + } + }, + "id": 899, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "937:19:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "932:24:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 892, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "926:5:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint8_$", + "typeString": "type(uint8)" + }, + "typeName": { + "id": 891, + "name": "uint8", + "nodeType": "ElementaryTypeName", + "src": "926:5:9", + "typeDescriptions": {} + } + }, + "id": 901, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "926:31:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + ], + "id": 890, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "919:6:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_bytes1_$", + "typeString": "type(bytes1)" + }, + "typeName": { + "id": 889, + "name": "bytes1", + "nodeType": "ElementaryTypeName", + "src": "919:6:9", + "typeDescriptions": {} + } + }, + "id": 902, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "919:39:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "902:56:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 904, + "nodeType": "ExpressionStatement", + "src": "902:56:9" + }, + { + "expression": { + "id": 907, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 905, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 841, + "src": "972:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "/=", + "rightHandSide": { + "hexValue": "3130", + "id": 906, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "981:2:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_10_by_1", + "typeString": "int_const 10" + }, + "value": "10" + }, + "src": "972:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 908, + "nodeType": "ExpressionStatement", + "src": "972:11:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 881, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 879, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 841, + "src": "851:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 880, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "860:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "851:10:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 910, + "nodeType": "WhileStatement", + "src": "844:150:9" + }, + { + "expression": { + "arguments": [ + { + "id": 913, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 873, + "src": "1017:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 912, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "1010:6:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 911, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1010:6:9", + "typeDescriptions": {} + } + }, + "id": 914, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1010:14:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 845, + "id": 915, + "nodeType": "Return", + "src": "1003:21:9" + } + ] + }, + "documentation": { + "id": 839, + "nodeType": "StructuredDocumentation", + "src": "233:90:9", + "text": " @dev Converts a `uint256` to its ASCII `string` decimal representation." + }, + "id": 917, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toString", + "nameLocation": "337:8:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 842, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 841, + "mutability": "mutable", + "name": "value", + "nameLocation": "354:5:9", + "nodeType": "VariableDeclaration", + "scope": 917, + "src": "346:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 840, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "346:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "345:15:9" + }, + "returnParameters": { + "id": 845, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 844, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 917, + "src": "384:13:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 843, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "384:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "383:15:9" + }, + "scope": 1035, + "src": "328:703:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 957, + "nodeType": "Block", + "src": "1210:255:9", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 927, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 925, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 920, + "src": "1224:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 926, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1233:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1224:10:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 931, + "nodeType": "IfStatement", + "src": "1220:54:9", + "trueBody": { + "id": 930, + "nodeType": "Block", + "src": "1236:38:9", + "statements": [ + { + "expression": { + "hexValue": "30783030", + "id": 928, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1257:6:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_27489e20a0060b723a1748bdff5e44570ee9fae64141728105692eac6031e8a4", + "typeString": "literal_string \"0x00\"" + }, + "value": "0x00" + }, + "functionReturnParameters": 924, + "id": 929, + "nodeType": "Return", + "src": "1250:13:9" + } + ] + } + }, + { + "assignments": [ + 933 + ], + "declarations": [ + { + "constant": false, + "id": 933, + "mutability": "mutable", + "name": "temp", + "nameLocation": "1291:4:9", + "nodeType": "VariableDeclaration", + "scope": 957, + "src": "1283:12:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 932, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1283:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 935, + "initialValue": { + "id": 934, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 920, + "src": "1298:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1283:20:9" + }, + { + "assignments": [ + 937 + ], + "declarations": [ + { + "constant": false, + "id": 937, + "mutability": "mutable", + "name": "length", + "nameLocation": "1321:6:9", + "nodeType": "VariableDeclaration", + "scope": 957, + "src": "1313:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 936, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1313:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 939, + "initialValue": { + "hexValue": "30", + "id": 938, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1330:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "nodeType": "VariableDeclarationStatement", + "src": "1313:18:9" + }, + { + "body": { + "id": 950, + "nodeType": "Block", + "src": "1359:57:9", + "statements": [ + { + "expression": { + "id": 944, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "++", + "prefix": false, + "src": "1373:8:9", + "subExpression": { + "id": 943, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 937, + "src": "1373:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 945, + "nodeType": "ExpressionStatement", + "src": "1373:8:9" + }, + { + "expression": { + "id": 948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 946, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 933, + "src": "1395:4:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "38", + "id": 947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1404:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_8_by_1", + "typeString": "int_const 8" + }, + "value": "8" + }, + "src": "1395:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 949, + "nodeType": "ExpressionStatement", + "src": "1395:10:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 942, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 940, + "name": "temp", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 933, + "src": "1348:4:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "!=", + "rightExpression": { + "hexValue": "30", + "id": 941, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1356:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1348:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 951, + "nodeType": "WhileStatement", + "src": "1341:75:9" + }, + { + "expression": { + "arguments": [ + { + "id": 953, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 920, + "src": "1444:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + { + "id": 954, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 937, + "src": "1451:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 952, + "name": "toHexString", + "nodeType": "Identifier", + "overloadedDeclarations": [ + 958, + 1034 + ], + "referencedDeclaration": 1034, + "src": "1432:11:9", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_pure$_t_uint256_$_t_uint256_$returns$_t_string_memory_ptr_$", + "typeString": "function (uint256,uint256) pure returns (string memory)" + } + }, + "id": 955, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1432:26:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 924, + "id": 956, + "nodeType": "Return", + "src": "1425:33:9" + } + ] + }, + "documentation": { + "id": 918, + "nodeType": "StructuredDocumentation", + "src": "1037:94:9", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation." + }, + "id": 958, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1145:11:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 921, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 920, + "mutability": "mutable", + "name": "value", + "nameLocation": "1165:5:9", + "nodeType": "VariableDeclaration", + "scope": 958, + "src": "1157:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 919, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1157:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1156:15:9" + }, + "returnParameters": { + "id": 924, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 923, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 958, + "src": "1195:13:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 922, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1195:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1194:15:9" + }, + "scope": 1035, + "src": "1136:329:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1033, + "nodeType": "Block", + "src": "1678:351:9", + "statements": [ + { + "assignments": [ + 969 + ], + "declarations": [ + { + "constant": false, + "id": 969, + "mutability": "mutable", + "name": "buffer", + "nameLocation": "1701:6:9", + "nodeType": "VariableDeclaration", + "scope": 1033, + "src": "1688:19:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes" + }, + "typeName": { + "id": 968, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1688:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + }, + "visibility": "internal" + } + ], + "id": 978, + "initialValue": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 972, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1720:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 973, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "1724:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1720:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "32", + "id": 975, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1733:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "src": "1720:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + ], + "id": 971, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "NewExpression", + "src": "1710:9:9", + "typeDescriptions": { + "typeIdentifier": "t_function_objectcreation_pure$_t_uint256_$returns$_t_bytes_memory_ptr_$", + "typeString": "function (uint256) pure returns (bytes memory)" + }, + "typeName": { + "id": 970, + "name": "bytes", + "nodeType": "ElementaryTypeName", + "src": "1714:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_storage_ptr", + "typeString": "bytes" + } + } + }, + "id": 977, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1710:25:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1688:47:9" + }, + { + "expression": { + "id": 983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 979, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "1745:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 981, + "indexExpression": { + "hexValue": "30", + "id": 980, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1752:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1745:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "30", + "id": 982, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1757:3:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_044852b2a670ade5407e78fb2863c51de9fcb96542a07186fe3aeda6bb8a116d", + "typeString": "literal_string \"0\"" + }, + "value": "0" + }, + "src": "1745:15:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 984, + "nodeType": "ExpressionStatement", + "src": "1745:15:9" + }, + { + "expression": { + "id": 989, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 985, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "1770:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 987, + "indexExpression": { + "hexValue": "31", + "id": 986, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1777:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1770:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "78", + "id": 988, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1782:3:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_7521d1cadbcfa91eec65aa16715b94ffc1c9654ba57ea2ef1a2127bca1127a83", + "typeString": "literal_string \"x\"" + }, + "value": "x" + }, + "src": "1770:15:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 990, + "nodeType": "ExpressionStatement", + "src": "1770:15:9" + }, + { + "body": { + "id": 1019, + "nodeType": "Block", + "src": "1840:87:9", + "statements": [ + { + "expression": { + "id": 1013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1005, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "1854:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + }, + "id": 1007, + "indexExpression": { + "id": 1006, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 992, + "src": "1861:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "1854:9:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "baseExpression": { + "id": 1008, + "name": "_HEX_SYMBOLS", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 838, + "src": "1866:12:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes16", + "typeString": "bytes16" + } + }, + "id": 1012, + "indexExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1009, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 961, + "src": "1879:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "&", + "rightExpression": { + "hexValue": "307866", + "id": 1010, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1887:3:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_15_by_1", + "typeString": "int_const 15" + }, + "value": "0xf" + }, + "src": "1879:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "1866:25:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "src": "1854:37:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes1", + "typeString": "bytes1" + } + }, + "id": 1014, + "nodeType": "ExpressionStatement", + "src": "1854:37:9" + }, + { + "expression": { + "id": 1017, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1015, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 961, + "src": "1905:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": ">>=", + "rightHandSide": { + "hexValue": "34", + "id": 1016, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1915:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_4_by_1", + "typeString": "int_const 4" + }, + "value": "4" + }, + "src": "1905:11:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1018, + "nodeType": "ExpressionStatement", + "src": "1905:11:9" + } + ] + }, + "condition": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1001, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 999, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 992, + "src": "1828:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": ">", + "rightExpression": { + "hexValue": "31", + "id": 1000, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1832:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1828:5:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1020, + "initializationExpression": { + "assignments": [ + 992 + ], + "declarations": [ + { + "constant": false, + "id": 992, + "mutability": "mutable", + "name": "i", + "nameLocation": "1808:1:9", + "nodeType": "VariableDeclaration", + "scope": 1020, + "src": "1800:9:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 991, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1800:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 998, + "initialValue": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 997, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 995, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "hexValue": "32", + "id": 993, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1812:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_2_by_1", + "typeString": "int_const 2" + }, + "value": "2" + }, + "nodeType": "BinaryOperation", + "operator": "*", + "rightExpression": { + "id": 994, + "name": "length", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 963, + "src": "1816:6:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "1812:10:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "+", + "rightExpression": { + "hexValue": "31", + "id": 996, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1825:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_1_by_1", + "typeString": "int_const 1" + }, + "value": "1" + }, + "src": "1812:14:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "1800:26:9" + }, + "loopExpression": { + "expression": { + "id": 1003, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "--", + "prefix": true, + "src": "1835:3:9", + "subExpression": { + "id": 1002, + "name": "i", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 992, + "src": "1837:1:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1004, + "nodeType": "ExpressionStatement", + "src": "1835:3:9" + }, + "nodeType": "ForStatement", + "src": "1795:132:9" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1024, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1022, + "name": "value", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 961, + "src": "1944:5:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "30", + "id": 1023, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1953:1:9", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0" + }, + "src": "1944:10:9", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "537472696e67733a20686578206c656e67746820696e73756666696369656e74", + "id": 1025, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1956:34:9", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "typeString": "literal_string \"Strings: hex length insufficient\"" + }, + "value": "Strings: hex length insufficient" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_04fc88320d7c9f639317c75102c103ff0044d3075a5c627e24e76e5bbb2733c2", + "typeString": "literal_string \"Strings: hex length insufficient\"" + } + ], + "id": 1021, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "1936:7:9", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1026, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1936:55:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1027, + "nodeType": "ExpressionStatement", + "src": "1936:55:9" + }, + { + "expression": { + "arguments": [ + { + "id": 1030, + "name": "buffer", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 969, + "src": "2015:6:9", + "typeDescriptions": { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes_memory_ptr", + "typeString": "bytes memory" + } + ], + "id": 1029, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2008:6:9", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_string_storage_ptr_$", + "typeString": "type(string storage pointer)" + }, + "typeName": { + "id": 1028, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2008:6:9", + "typeDescriptions": {} + } + }, + "id": 1031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2008:14:9", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "functionReturnParameters": 967, + "id": 1032, + "nodeType": "Return", + "src": "2001:21:9" + } + ] + }, + "documentation": { + "id": 959, + "nodeType": "StructuredDocumentation", + "src": "1471:112:9", + "text": " @dev Converts a `uint256` to its ASCII `string` hexadecimal representation with fixed length." + }, + "id": 1034, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "toHexString", + "nameLocation": "1597:11:9", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 964, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 961, + "mutability": "mutable", + "name": "value", + "nameLocation": "1617:5:9", + "nodeType": "VariableDeclaration", + "scope": 1034, + "src": "1609:13:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 960, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1609:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 963, + "mutability": "mutable", + "name": "length", + "nameLocation": "1632:6:9", + "nodeType": "VariableDeclaration", + "scope": 1034, + "src": "1624:14:9", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 962, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "1624:7:9", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "1608:31:9" + }, + "returnParameters": { + "id": 967, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 966, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1034, + "src": "1663:13:9", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 965, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1663:6:9", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1662:15:9" + }, + "scope": 1035, + "src": "1588:441:9", + "stateMutability": "pure", + "virtual": false, + "visibility": "internal" + } + ], + "scope": 1036, + "src": "146:1885:9", + "usedErrors": [] + } + ], + "src": "86:1946:9" + }, + "id": 9 + }, + "@openzeppelin/contracts/utils/introspection/ERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/ERC165.sol", + "exportedSymbols": { + "ERC165": [ + 1059 + ], + "IERC165": [ + 1071 + ] + }, + "id": 1060, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1037, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "99:23:10" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "file": "./IERC165.sol", + "id": 1038, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1060, + "sourceUnit": 1072, + "src": "124:23:10", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": true, + "baseContracts": [ + { + "baseName": { + "id": 1040, + "name": "IERC165", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1071, + "src": "754:7:10" + }, + "id": 1041, + "nodeType": "InheritanceSpecifier", + "src": "754:7:10" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "documentation": { + "id": 1039, + "nodeType": "StructuredDocumentation", + "src": "149:576:10", + "text": " @dev Implementation of the {IERC165} interface.\n Contracts that want to implement ERC165 should inherit from this contract and override {supportsInterface} to check\n for the additional interface id that will be supported. For example:\n ```solidity\n function supportsInterface(bytes4 interfaceId) public view virtual override returns (bool) {\n return interfaceId == type(MyInterface).interfaceId || super.supportsInterface(interfaceId);\n }\n ```\n Alternatively, {ERC165Storage} provides an easier to use but more expensive implementation." + }, + "fullyImplemented": true, + "id": 1059, + "linearizedBaseContracts": [ + 1059, + 1071 + ], + "name": "ERC165", + "nameLocation": "744:6:10", + "nodeType": "ContractDefinition", + "nodes": [ + { + "baseFunctions": [ + 1070 + ], + "body": { + "id": 1057, + "nodeType": "Block", + "src": "920:64:10", + "statements": [ + { + "expression": { + "commonType": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "id": 1055, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1050, + "name": "interfaceId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1044, + "src": "937:11:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "arguments": [ + { + "id": 1052, + "name": "IERC165", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1071, + "src": "957:7:10", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC165_$1071_$", + "typeString": "type(contract IERC165)" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_type$_t_contract$_IERC165_$1071_$", + "typeString": "type(contract IERC165)" + } + ], + "id": 1051, + "name": "type", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -27, + "src": "952:4:10", + "typeDescriptions": { + "typeIdentifier": "t_function_metatype_pure$__$returns$__$", + "typeString": "function () pure" + } + }, + "id": 1053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "952:13:10", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_magic_meta_type_t_contract$_IERC165_$1071", + "typeString": "type(contract IERC165)" + } + }, + "id": 1054, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "interfaceId", + "nodeType": "MemberAccess", + "src": "952:25:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "src": "937:40:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1049, + "id": 1056, + "nodeType": "Return", + "src": "930:47:10" + } + ] + }, + "documentation": { + "id": 1042, + "nodeType": "StructuredDocumentation", + "src": "768:56:10", + "text": " @dev See {IERC165-supportsInterface}." + }, + "functionSelector": "01ffc9a7", + "id": 1058, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "838:17:10", + "nodeType": "FunctionDefinition", + "overrides": { + "id": 1046, + "nodeType": "OverrideSpecifier", + "overrides": [], + "src": "896:8:10" + }, + "parameters": { + "id": 1045, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1044, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "863:11:10", + "nodeType": "VariableDeclaration", + "scope": 1058, + "src": "856:18:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1043, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "856:6:10", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "855:20:10" + }, + "returnParameters": { + "id": 1049, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1048, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1058, + "src": "914:4:10", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1047, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "914:4:10", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "913:6:10" + }, + "scope": 1059, + "src": "829:155:10", + "stateMutability": "view", + "virtual": true, + "visibility": "public" + } + ], + "scope": 1060, + "src": "726:260:10", + "usedErrors": [] + } + ], + "src": "99:888:10" + }, + "id": 10 + }, + "@openzeppelin/contracts/utils/introspection/IERC165.sol": { + "ast": { + "absolutePath": "@openzeppelin/contracts/utils/introspection/IERC165.sol", + "exportedSymbols": { + "IERC165": [ + 1071 + ] + }, + "id": 1072, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1061, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "100:23:11" + }, + { + "abstract": false, + "baseContracts": [], + "contractDependencies": [], + "contractKind": "interface", + "documentation": { + "id": 1062, + "nodeType": "StructuredDocumentation", + "src": "125:279:11", + "text": " @dev Interface of the ERC165 standard, as defined in the\n https://eips.ethereum.org/EIPS/eip-165[EIP].\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, + "id": 1071, + "linearizedBaseContracts": [ + 1071 + ], + "name": "IERC165", + "nameLocation": "415:7:11", + "nodeType": "ContractDefinition", + "nodes": [ + { + "documentation": { + "id": 1063, + "nodeType": "StructuredDocumentation", + "src": "429:340:11", + "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[EIP section]\n to learn more about how these ids are created.\n This function call must use less than 30 000 gas." + }, + "functionSelector": "01ffc9a7", + "id": 1070, + "implemented": false, + "kind": "function", + "modifiers": [], + "name": "supportsInterface", + "nameLocation": "783:17:11", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1066, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1065, + "mutability": "mutable", + "name": "interfaceId", + "nameLocation": "808:11:11", + "nodeType": "VariableDeclaration", + "scope": 1070, + "src": "801:18:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1064, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "801:6:11", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "visibility": "internal" + } + ], + "src": "800:20:11" + }, + "returnParameters": { + "id": 1069, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1068, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1070, + "src": "844:4:11", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1067, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "844:4:11", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "843:6:11" + }, + "scope": 1071, + "src": "774:76:11", + "stateMutability": "view", + "virtual": false, + "visibility": "external" + } + ], + "scope": 1072, + "src": "405:447:11", + "usedErrors": [] + } + ], + "src": "100:753:11" + }, + "id": 11 + }, + "contracts/TGPassport.sol": { + "ast": { + "absolutePath": "contracts/TGPassport.sol", + "exportedSymbols": { + "Context": [ + 758 + ], + "Ownable": [ + 486 + ], + "TGPassport": [ + 1745 + ] + }, + "id": 1746, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1073, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "31:23:12" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 1074, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 1746, + "sourceUnit": 487, + "src": "88:52:12", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1075, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 486, + "src": "407:7:12" + }, + "id": 1076, + "nodeType": "InheritanceSpecifier", + "src": "407:7:12" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 1745, + "linearizedBaseContracts": [ + 1745, + 486, + 758 + ], + "name": "TGPassport", + "nameLocation": "393:10:12", + "nodeType": "ContractDefinition", + "nodes": [ + { + "constant": false, + "id": 1078, + "mutability": "mutable", + "name": "_passportFee", + "nameLocation": "441:12:12", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "428:25:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1077, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "428:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1080, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "475:6:12", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "459:22:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1079, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "459:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "canonicalName": "TGPassport.Passport", + "id": 1091, + "members": [ + { + "constant": false, + "id": 1082, + "mutability": "mutable", + "name": "userAddress", + "nameLocation": "520:11:12", + "nodeType": "VariableDeclaration", + "scope": 1091, + "src": "512:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1081, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "512:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1084, + "mutability": "mutable", + "name": "tgId", + "nameLocation": "545:4:12", + "nodeType": "VariableDeclaration", + "scope": 1091, + "src": "539:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1083, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "539:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1086, + "mutability": "mutable", + "name": "valid", + "nameLocation": "600:5:12", + "nodeType": "VariableDeclaration", + "scope": 1091, + "src": "595:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1085, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "595:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1088, + "mutability": "mutable", + "name": "validatorAddress", + "nameLocation": "621:16:12", + "nodeType": "VariableDeclaration", + "scope": 1091, + "src": "613:24:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1087, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "613:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1090, + "mutability": "mutable", + "name": "userName", + "nameLocation": "652:8:12", + "nodeType": "VariableDeclaration", + "scope": 1091, + "src": "645:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1089, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "645:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "Passport", + "nameLocation": "495:8:12", + "nodeType": "StructDefinition", + "scope": 1745, + "src": "488:213:12", + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "9413c642", + "id": 1095, + "mutability": "mutable", + "name": "tgIdToAddress", + "nameLocation": "754:13:12", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "721:46:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + }, + "typeName": { + "id": 1094, + "keyType": { + "id": 1092, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "729:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Mapping", + "src": "721:25:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + }, + "valueType": { + "id": 1093, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "738:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "e37c132b", + "id": 1100, + "mutability": "mutable", + "name": "passports", + "nameLocation": "808:9:12", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "772:45:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport)" + }, + "typeName": { + "id": 1099, + "keyType": { + "id": 1096, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "780:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "772:28:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport)" + }, + "valueType": { + "id": 1098, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1097, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1091, + "src": "791:8:12" + }, + "referencedDeclaration": 1091, + "src": "791:8:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "59cca93b", + "id": 1104, + "mutability": "mutable", + "name": "username_wallets", + "nameLocation": "856:16:12", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "822:50:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string => address)" + }, + "typeName": { + "id": 1103, + "keyType": { + "id": 1101, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "830:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "nodeType": "Mapping", + "src": "822:26:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string => address)" + }, + "valueType": { + "id": 1102, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "840:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "239f60fa", + "id": 1110, + "mutability": "mutable", + "name": "trust_global", + "nameLocation": "992:12:12", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "943:61:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + }, + "typeName": { + "id": 1109, + "keyType": { + "id": 1105, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "952:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Mapping", + "src": "943:41:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + }, + "valueType": { + "id": 1108, + "keyType": { + "id": 1106, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "969:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Mapping", + "src": "961:22:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_bool_$", + "typeString": "mapping(int64 => bool)" + }, + "valueType": { + "id": 1107, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "978:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "documentation": { + "id": 1111, + "nodeType": "StructuredDocumentation", + "src": "1046:379:12", + "text": " \n 1. by defult user TRUST N0 0NE.\n 2. we can get int64[] opinion_changed, so we get array of user who express trust/untrust to specific user\n 3. then we can call GetTrust(user_from,user_to) for each of result from opinion_changed, and get arrays of trusters/untrusters attached to specific user\n ..... possibly there is a better way to do it" + }, + "functionSelector": "6a8ec05e", + "id": 1116, + "mutability": "mutable", + "name": "opinion_changed", + "nameLocation": "1463:15:12", + "nodeType": "VariableDeclaration", + "scope": 1745, + "src": "1429:49:12", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_array$_t_int64_$dyn_storage_$", + "typeString": "mapping(int64 => int64[])" + }, + "typeName": { + "id": 1115, + "keyType": { + "id": 1112, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1438:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Mapping", + "src": "1429:26:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_array$_t_int64_$dyn_storage_$", + "typeString": "mapping(int64 => int64[])" + }, + "valueType": { + "baseType": { + "id": 1113, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1447:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "id": 1114, + "nodeType": "ArrayTypeName", + "src": "1447:7:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage_ptr", + "typeString": "int64[]" + } + } + }, + "visibility": "public" + }, + { + "anonymous": false, + "id": 1122, + "name": "passportApplied", + "nameLocation": "1510:15:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 1121, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1118, + "indexed": false, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "1532:9:12", + "nodeType": "VariableDeclaration", + "scope": 1122, + "src": "1526:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1117, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1526:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1120, + "indexed": false, + "mutability": "mutable", + "name": "wallet_address", + "nameLocation": "1551:14:12", + "nodeType": "VariableDeclaration", + "scope": 1122, + "src": "1543:22:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1119, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1543:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1525:41:12" + }, + "src": "1504:63:12" + }, + { + "anonymous": false, + "id": 1128, + "name": "passportAppliedIndexed", + "nameLocation": "1577:22:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 1127, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1124, + "indexed": true, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "1614:9:12", + "nodeType": "VariableDeclaration", + "scope": 1128, + "src": "1600:23:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1123, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1600:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1126, + "indexed": false, + "mutability": "mutable", + "name": "wallet_address", + "nameLocation": "1633:14:12", + "nodeType": "VariableDeclaration", + "scope": 1128, + "src": "1625:22:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1125, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1625:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1599:49:12" + }, + "src": "1571:78:12" + }, + { + "anonymous": false, + "id": 1136, + "name": "passportApproved", + "nameLocation": "1659:16:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 1135, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1130, + "indexed": false, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "1682:9:12", + "nodeType": "VariableDeclaration", + "scope": 1136, + "src": "1676:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1129, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1676:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1132, + "indexed": false, + "mutability": "mutable", + "name": "wallet_address", + "nameLocation": "1701:14:12", + "nodeType": "VariableDeclaration", + "scope": 1136, + "src": "1693:22:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1131, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1693:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1134, + "indexed": false, + "mutability": "mutable", + "name": "issuer", + "nameLocation": "1725:6:12", + "nodeType": "VariableDeclaration", + "scope": 1136, + "src": "1717:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1133, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1717:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1675:57:12" + }, + "src": "1653:80:12" + }, + { + "anonymous": false, + "id": 1142, + "name": "passportDenied", + "nameLocation": "1743:14:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 1141, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1138, + "indexed": false, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "1764:9:12", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "1758:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1137, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1758:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1140, + "indexed": false, + "mutability": "mutable", + "name": "wallet", + "nameLocation": "1783:6:12", + "nodeType": "VariableDeclaration", + "scope": 1142, + "src": "1775:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1139, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1775:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "1757:33:12" + }, + "src": "1737:54:12" + }, + { + "anonymous": false, + "id": 1150, + "name": "TrustChanged", + "nameLocation": "1801:12:12", + "nodeType": "EventDefinition", + "parameters": { + "id": 1149, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1144, + "indexed": false, + "mutability": "mutable", + "name": "from", + "nameLocation": "1820:4:12", + "nodeType": "VariableDeclaration", + "scope": 1150, + "src": "1814:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1143, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1814:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1146, + "indexed": true, + "mutability": "mutable", + "name": "to", + "nameLocation": "1840:2:12", + "nodeType": "VariableDeclaration", + "scope": 1150, + "src": "1826:16:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1145, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1826:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1148, + "indexed": false, + "mutability": "mutable", + "name": "trust", + "nameLocation": "1849:5:12", + "nodeType": "VariableDeclaration", + "scope": 1150, + "src": "1844:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1147, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "1844:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "1813:42:12" + }, + "src": "1795:61:12" + }, + { + "body": { + "id": 1164, + "nodeType": "Block", + "src": "1886:90:12", + "statements": [ + { + "expression": { + "id": 1157, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1155, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1078, + "src": "1894:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "31303030", + "id": 1156, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1909:8:12", + "subdenomination": "wei", + "typeDescriptions": { + "typeIdentifier": "t_rational_1000_by_1", + "typeString": "int_const 1000" + }, + "value": "1000" + }, + "src": "1894:23:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1158, + "nodeType": "ExpressionStatement", + "src": "1894:23:12" + }, + { + "expression": { + "id": 1162, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1159, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1080, + "src": "1954:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1160, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "1963:5:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1161, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1963:7:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "1954:16:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1163, + "nodeType": "ExpressionStatement", + "src": "1954:16:12" + } + ] + }, + "id": 1165, + "implemented": true, + "kind": "constructor", + "modifiers": [ + { + "arguments": [], + "id": 1153, + "kind": "baseConstructorSpecifier", + "modifierName": { + "id": 1152, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 486, + "src": "1876:7:12" + }, + "nodeType": "ModifierInvocation", + "src": "1876:9:12" + } + ], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1151, + "nodeType": "ParameterList", + "parameters": [], + "src": "1873:2:12" + }, + "returnParameters": { + "id": 1154, + "nodeType": "ParameterList", + "parameters": [], + "src": "1886:0:12" + }, + "scope": 1745, + "src": "1862:114:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1198, + "nodeType": "Block", + "src": "2074:233:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 1175, + "name": "tgIdToAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "2090:13:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 1177, + "indexExpression": { + "id": 1176, + "name": "tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1167, + "src": "2104:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "2090:19:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830", + "id": 1180, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2121:3:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1179, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "2113:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1178, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2113:7:12", + "typeDescriptions": {} + } + }, + "id": 1181, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2113:12:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2090:35:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "54686572652773206164647265737320636f6e6e656374656420746f207468617420544720494420616c72656164792e", + "id": 1183, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2127:50:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4", + "typeString": "literal_string \"There's address connected to that TG ID already.\"" + }, + "value": "There's address connected to that TG ID already." + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_3451b730685333e801ae3334b149ab3ef11d3ab92dbd903ab90c4cdf71b189c4", + "typeString": "literal_string \"There's address connected to that TG ID already.\"" + } + ], + "id": 1174, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2082:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2082:96:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1185, + "nodeType": "ExpressionStatement", + "src": "2082:96:12" + }, + { + "expression": { + "id": 1190, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1186, + "name": "tgIdToAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "2218:13:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 1188, + "indexExpression": { + "id": 1187, + "name": "tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1167, + "src": "2232:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2218:19:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1189, + "name": "userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1169, + "src": "2240:11:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2218:33:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1191, + "nodeType": "ExpressionStatement", + "src": "2218:33:12" + }, + { + "expression": { + "id": 1196, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1192, + "name": "username_wallets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "2259:16:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 1194, + "indexExpression": { + "id": 1193, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1171, + "src": "2276:10:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2259:28:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1195, + "name": "userAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1169, + "src": "2290:11:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2259:42:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1197, + "nodeType": "ExpressionStatement", + "src": "2259:42:12" + } + ] + }, + "id": 1199, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_updateAddress", + "nameLocation": "1991:14:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1172, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1167, + "mutability": "mutable", + "name": "tgId", + "nameLocation": "2012:4:12", + "nodeType": "VariableDeclaration", + "scope": 1199, + "src": "2006:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1166, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "2006:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1169, + "mutability": "mutable", + "name": "userAddress", + "nameLocation": "2026:11:12", + "nodeType": "VariableDeclaration", + "scope": 1199, + "src": "2018:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1168, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2018:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1171, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "2053:10:12", + "nodeType": "VariableDeclaration", + "scope": 1199, + "src": "2039:24:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1170, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2039:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2005:59:12" + }, + "returnParameters": { + "id": 1173, + "nodeType": "ParameterList", + "parameters": [], + "src": "2074:0:12" + }, + "scope": 1745, + "src": "1982:325:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1235, + "nodeType": "Block", + "src": "2449:209:12", + "statements": [ + { + "assignments": [ + 1207 + ], + "declarations": [ + { + "constant": false, + "id": 1207, + "mutability": "mutable", + "name": "p", + "nameLocation": "2472:1:12", + "nodeType": "VariableDeclaration", + "scope": 1235, + "src": "2456:17:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 1206, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1205, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1091, + "src": "2456:8:12" + }, + "referencedDeclaration": 1091, + "src": "2456:8:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 1212, + "initialValue": { + "arguments": [ + { + "expression": { + "id": 1209, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2497:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1210, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2497:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1208, + "name": "GetPassportByAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1676, + "src": "2476:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_Passport_$1091_memory_ptr_$", + "typeString": "function (address) view returns (struct TGPassport.Passport memory)" + } + }, + "id": 1211, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2476:32:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2456:52:12" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1218, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1214, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "2523:1:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "id": 1215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1082, + "src": "2523:13:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1216, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2540:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1217, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2540:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2523:27:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "796f7520646f6e2774206e6f77206f776e207468697320757365726e616d65", + "id": 1219, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "2552:33:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2", + "typeString": "literal_string \"you don't now own this username\"" + }, + "value": "you don't now own this username" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_8413b2693bc6dd14d19c4e08ef18fb29771257bd188618558626c558df54e1c2", + "typeString": "literal_string \"you don't now own this username\"" + } + ], + "id": 1213, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "2515:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1220, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2515:71:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1221, + "nodeType": "ExpressionStatement", + "src": "2515:71:12" + }, + { + "expression": { + "id": 1226, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 1222, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "2593:1:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "id": 1224, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "userName", + "nodeType": "MemberAccess", + "referencedDeclaration": 1090, + "src": "2593:10:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1225, + "name": "new_user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1202, + "src": "2606:14:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "src": "2593:27:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "id": 1227, + "nodeType": "ExpressionStatement", + "src": "2593:27:12" + }, + { + "expression": { + "id": 1233, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1228, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "2627:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1231, + "indexExpression": { + "expression": { + "id": 1229, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2637:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1230, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2637:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "2627:21:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1232, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1207, + "src": "2651:1:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "src": "2627:25:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1234, + "nodeType": "ExpressionStatement", + "src": "2627:25:12" + } + ] + }, + "documentation": { + "id": 1200, + "nodeType": "StructuredDocumentation", + "src": "2312:72:12", + "text": " @dev This function update user nicname if user change it" + }, + "functionSelector": "21e6531d", + "id": 1236, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "UpdateUserName", + "nameLocation": "2397:14:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1203, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1202, + "mutability": "mutable", + "name": "new_user_name_", + "nameLocation": "2426:14:12", + "nodeType": "VariableDeclaration", + "scope": 1236, + "src": "2412:28:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1201, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2412:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2411:30:12" + }, + "returnParameters": { + "id": 1204, + "nodeType": "ParameterList", + "parameters": [], + "src": "2449:0:12" + }, + "scope": 1745, + "src": "2388:270:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1305, + "nodeType": "Block", + "src": "2966:589:12", + "statements": [ + { + "assignments": [ + 1245 + ], + "declarations": [ + { + "constant": false, + "id": 1245, + "mutability": "mutable", + "name": "applyerAddress", + "nameLocation": "2982:14:12", + "nodeType": "VariableDeclaration", + "scope": 1305, + "src": "2974:22:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1244, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2974:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1248, + "initialValue": { + "expression": { + "id": 1246, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2999:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1247, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2999:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "2974:35:12" + }, + { + "expression": { + "arguments": [ + { + "id": 1250, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1239, + "src": "3119:9:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1251, + "name": "applyerAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "3129:14:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1252, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1241, + "src": "3144:10:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1249, + "name": "_updateAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1199, + "src": "3104:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int64_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int64,address,string memory)" + } + }, + "id": 1253, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3104:51:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1254, + "nodeType": "ExpressionStatement", + "src": "3104:51:12" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1259, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 1256, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3174:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1257, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "3174:9:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 1258, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1078, + "src": "3187:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "3174:25:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "50617373706f727420666565206973206e6f742070616964", + "id": 1260, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3201:26:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "typeString": "literal_string \"Passport fee is not paid\"" + }, + "value": "Passport fee is not paid" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "typeString": "literal_string \"Passport fee is not paid\"" + } + ], + "id": 1255, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3165:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1261, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3165:63:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1262, + "nodeType": "ExpressionStatement", + "src": "3165:63:12" + }, + { + "expression": { + "id": 1277, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1263, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "3237:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1266, + "indexExpression": { + "expression": { + "id": 1264, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3247:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1265, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3247:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "3237:21:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1268, + "name": "applyerAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1245, + "src": "3270:14:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1269, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1239, + "src": "3286:9:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "hexValue": "66616c7365", + "id": 1270, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3297:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "arguments": [ + { + "hexValue": "307830", + "id": 1273, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3312:3:12", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1272, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "3304:7:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1271, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3304:7:12", + "typeDescriptions": {} + } + }, + "id": 1274, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3304:12:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1275, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1241, + "src": "3317:10:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1267, + "name": "Passport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "3261:8:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Passport_$1091_storage_ptr_$", + "typeString": "type(struct TGPassport.Passport storage pointer)" + } + }, + "id": 1276, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3261:67:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "src": "3237:91:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1278, + "nodeType": "ExpressionStatement", + "src": "3237:91:12" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1280, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1239, + "src": "3357:9:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 1281, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3368:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1282, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3368:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1279, + "name": "passportApplied", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1122, + "src": "3341:15:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_address_$returns$__$", + "typeString": "function (int64,address)" + } + }, + "id": 1283, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3341:38:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1284, + "nodeType": "EmitStatement", + "src": "3336:43:12" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1286, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1239, + "src": "3415:9:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 1287, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "3426:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1288, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "3426:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1285, + "name": "passportAppliedIndexed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1128, + "src": "3392:22:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_address_$returns$__$", + "typeString": "function (int64,address)" + } + }, + "id": 1289, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3392:45:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1290, + "nodeType": "EmitStatement", + "src": "3387:50:12" + }, + { + "assignments": [ + 1292, + null + ], + "declarations": [ + { + "constant": false, + "id": 1292, + "mutability": "mutable", + "name": "feePaid", + "nameLocation": "3451:7:12", + "nodeType": "VariableDeclaration", + "scope": 1305, + "src": "3446:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1291, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "3446:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 1299, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 1297, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3496:2:12", + "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": 1293, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1080, + "src": "3463:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1294, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "3463:11:12", + "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": 1296, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 1295, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1078, + "src": "3482:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "3463:32:12", + "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": 1298, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3463:36:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3445:54:12" + }, + { + "expression": { + "arguments": [ + { + "id": 1301, + "name": "feePaid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1292, + "src": "3515:7:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "556e61626c6520746f207472616e7366657220666565", + "id": 1302, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "3524:24:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "typeString": "literal_string \"Unable to transfer fee\"" + }, + "value": "Unable to transfer fee" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "typeString": "literal_string \"Unable to transfer fee\"" + } + ], + "id": 1300, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "3507:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1303, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "3507:42:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1304, + "nodeType": "ExpressionStatement", + "src": "3507:42:12" + } + ] + }, + "documentation": { + "id": 1237, + "nodeType": "StructuredDocumentation", + "src": "2663:214:12", + "text": " @notice This function for USER who try to obtain some tg_id\n @param applyerTg unic id for telegram user, in telegram it's int64 (number)\n @param user_name_ is username (like @username)*" + }, + "functionSelector": "d5998aeb", + "id": 1306, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ApplyForPassport", + "nameLocation": "2890:16:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1242, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1239, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "2914:9:12", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "2908:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1238, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "2908:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1241, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "2939:10:12", + "nodeType": "VariableDeclaration", + "scope": 1306, + "src": "2925:24:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1240, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2925:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2907:43:12" + }, + "returnParameters": { + "id": 1243, + "nodeType": "ParameterList", + "parameters": [], + "src": "2966:0:12" + }, + "scope": 1745, + "src": "2881:674:12", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1366, + "nodeType": "Block", + "src": "3861:458:12", + "statements": [ + { + "assignments": [ + 1315 + ], + "declarations": [ + { + "constant": false, + "id": 1315, + "mutability": "mutable", + "name": "_tgId", + "nameLocation": "3877:5:12", + "nodeType": "VariableDeclaration", + "scope": 1366, + "src": "3871:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1314, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "3871:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "id": 1320, + "initialValue": { + "expression": { + "baseExpression": { + "id": 1316, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "3885:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1318, + "indexExpression": { + "id": 1317, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "3895:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3885:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1319, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1084, + "src": "3885:33:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3871:47:12" + }, + { + "assignments": [ + 1322 + ], + "declarations": [ + { + "constant": false, + "id": 1322, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "3942:10:12", + "nodeType": "VariableDeclaration", + "scope": 1366, + "src": "3928:24:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1321, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "3928:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 1327, + "initialValue": { + "expression": { + "baseExpression": { + "id": 1323, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "3955:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1325, + "indexExpression": { + "id": 1324, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "3965:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "3955:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1326, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userName", + "nodeType": "MemberAccess", + "referencedDeclaration": 1090, + "src": "3955:37:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "3928:64:12" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1334, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1329, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "4010:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1331, + "indexExpression": { + "id": 1330, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "4020:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4010:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1332, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1086, + "src": "4010:34:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 1333, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4048:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "4010:43:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "616c726561647920617070726f766564204f5220646f206e6f742065786973747320796574", + "id": 1335, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4055:39:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "typeString": "literal_string \"already approved OR do not exists yet\"" + }, + "value": "already approved OR do not exists yet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "typeString": "literal_string \"already approved OR do not exists yet\"" + } + ], + "id": 1328, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4002:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1336, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4002:93:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1337, + "nodeType": "ExpressionStatement", + "src": "4002:93:12" + }, + { + "expression": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1344, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "baseExpression": { + "id": 1338, + "name": "trust_global", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1110, + "src": "4105:12:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + } + }, + "id": 1341, + "indexExpression": { + "id": 1339, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "4118:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4105:19:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_bool_$", + "typeString": "mapping(int64 => bool)" + } + }, + "id": 1342, + "indexExpression": { + "id": 1340, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "4125:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4105:26:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "74727565", + "id": 1343, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4135:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4105:34:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1345, + "nodeType": "ExpressionStatement", + "src": "4105:34:12" + }, + { + "expression": { + "id": 1357, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1346, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "4149:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1348, + "indexExpression": { + "id": 1347, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "4159:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4149:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1350, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "4189:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1351, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "4208:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "hexValue": "74727565", + "id": 1352, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4215:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + { + "expression": { + "id": 1353, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4221:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1354, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4221:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1355, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1322, + "src": "4233:10:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1349, + "name": "Passport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1091, + "src": "4180:8:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_Passport_$1091_storage_ptr_$", + "typeString": "type(struct TGPassport.Passport storage pointer)" + } + }, + "id": 1356, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4180:64:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "src": "4149:95:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1358, + "nodeType": "ExpressionStatement", + "src": "4149:95:12" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1360, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1315, + "src": "4278:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1361, + "name": "passportToApprove", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1309, + "src": "4284:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 1362, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4302:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1363, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4302:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1359, + "name": "passportApproved", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1136, + "src": "4261:16:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_address_$_t_address_$returns$__$", + "typeString": "function (int64,address,address)" + } + }, + "id": 1364, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4261:52:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1365, + "nodeType": "EmitStatement", + "src": "4256:57:12" + } + ] + }, + "documentation": { + "id": 1307, + "nodeType": "StructuredDocumentation", + "src": "3560:227:12", + "text": " @notice This function approving passport (use for bot) which approve that user owns it's tg_id and nicname he want to attach with\n @param passportToApprove address of user wallet which attached to him" + }, + "functionSelector": "1755e9e6", + "id": 1367, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1312, + "kind": "modifierInvocation", + "modifierName": { + "id": 1311, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "3851:9:12" + }, + "nodeType": "ModifierInvocation", + "src": "3851:9:12" + } + ], + "name": "ApprovePassport", + "nameLocation": "3800:15:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1310, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1309, + "mutability": "mutable", + "name": "passportToApprove", + "nameLocation": "3825:17:12", + "nodeType": "VariableDeclaration", + "scope": 1367, + "src": "3817:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1308, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3817:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "3816:27:12" + }, + "returnParameters": { + "id": 1313, + "nodeType": "ParameterList", + "parameters": [], + "src": "3861:0:12" + }, + "scope": 1745, + "src": "3791:528:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1419, + "nodeType": "Block", + "src": "4535:443:12", + "statements": [ + { + "assignments": [ + 1376 + ], + "declarations": [ + { + "constant": false, + "id": 1376, + "mutability": "mutable", + "name": "_tgId", + "nameLocation": "4549:5:12", + "nodeType": "VariableDeclaration", + "scope": 1419, + "src": "4543:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1375, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "4543:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "id": 1381, + "initialValue": { + "expression": { + "baseExpression": { + "id": 1377, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "4557:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1379, + "indexExpression": { + "id": 1378, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1370, + "src": "4567:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4557:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1380, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1084, + "src": "4557:33:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4543:47:12" + }, + { + "assignments": [ + 1383 + ], + "declarations": [ + { + "constant": false, + "id": 1383, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "4612:10:12", + "nodeType": "VariableDeclaration", + "scope": 1419, + "src": "4598:24:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1382, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4598:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 1388, + "initialValue": { + "expression": { + "baseExpression": { + "id": 1384, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "4625:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1386, + "indexExpression": { + "id": 1385, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1370, + "src": "4635:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4625:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1387, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userName", + "nodeType": "MemberAccess", + "referencedDeclaration": 1090, + "src": "4625:37:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4598:64:12" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1395, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "baseExpression": { + "id": 1390, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "4678:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1392, + "indexExpression": { + "id": 1391, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1370, + "src": "4688:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4678:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1393, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1086, + "src": "4678:34:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 1394, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4716:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "4678:43:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "616c726561647920617070726f766564204f5220646f206e6f742065786973747320796574", + "id": 1396, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4723:39:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "typeString": "literal_string \"already approved OR do not exists yet\"" + }, + "value": "already approved OR do not exists yet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_b7c3c5cb59eea1e58d3bb77f7dbc9a8f04219893f9640d3a5ccca1ed36aaab8b", + "typeString": "literal_string \"already approved OR do not exists yet\"" + } + ], + "id": 1389, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4670:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1397, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4670:93:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1398, + "nodeType": "ExpressionStatement", + "src": "4670:93:12" + }, + { + "expression": { + "id": 1402, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4807:35:12", + "subExpression": { + "baseExpression": { + "id": 1399, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "4814:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1401, + "indexExpression": { + "id": 1400, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1370, + "src": "4824:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4814:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1403, + "nodeType": "ExpressionStatement", + "src": "4807:35:12" + }, + { + "expression": { + "id": 1407, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4850:27:12", + "subExpression": { + "baseExpression": { + "id": 1404, + "name": "tgIdToAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "4857:13:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 1406, + "indexExpression": { + "id": 1405, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1376, + "src": "4871:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4857:20:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1408, + "nodeType": "ExpressionStatement", + "src": "4850:27:12" + }, + { + "expression": { + "id": 1412, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "4885:35:12", + "subExpression": { + "baseExpression": { + "id": 1409, + "name": "username_wallets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "4892:16:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 1411, + "indexExpression": { + "id": 1410, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1383, + "src": "4909:10:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4892:28:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1413, + "nodeType": "ExpressionStatement", + "src": "4885:35:12" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1415, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1376, + "src": "4948:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1416, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1370, + "src": "4954:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1414, + "name": "passportDenied", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1142, + "src": "4933:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_address_$returns$__$", + "typeString": "function (int64,address)" + } + }, + "id": 1417, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4933:39:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1418, + "nodeType": "EmitStatement", + "src": "4928:44:12" + } + ] + }, + "documentation": { + "id": 1368, + "nodeType": "StructuredDocumentation", + "src": "4324:137:12", + "text": " @notice This function decline application end erase junk data\n @param passportToDecline address of user wallet" + }, + "functionSelector": "9421da61", + "id": 1420, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1373, + "kind": "modifierInvocation", + "modifierName": { + "id": 1372, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "4525:9:12" + }, + "nodeType": "ModifierInvocation", + "src": "4525:9:12" + } + ], + "name": "DeclinePassport", + "nameLocation": "4474:15:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1371, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1370, + "mutability": "mutable", + "name": "passportToDecline", + "nameLocation": "4499:17:12", + "nodeType": "VariableDeclaration", + "scope": 1420, + "src": "4491:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1369, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4491:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "4490:27:12" + }, + "returnParameters": { + "id": 1374, + "nodeType": "ParameterList", + "parameters": [], + "src": "4535:0:12" + }, + "scope": 1745, + "src": "4465:513:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1477, + "nodeType": "Block", + "src": "5232:559:12", + "statements": [ + { + "assignments": [ + 1429 + ], + "declarations": [ + { + "constant": false, + "id": 1429, + "mutability": "mutable", + "name": "_tgId", + "nameLocation": "5246:5:12", + "nodeType": "VariableDeclaration", + "scope": 1477, + "src": "5240:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1428, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "5240:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "id": 1434, + "initialValue": { + "expression": { + "baseExpression": { + "id": 1430, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "5254:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1432, + "indexExpression": { + "id": 1431, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "5264:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5254:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1433, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1084, + "src": "5254:33:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5240:47:12" + }, + { + "assignments": [ + 1436 + ], + "declarations": [ + { + "constant": false, + "id": 1436, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "5309:10:12", + "nodeType": "VariableDeclaration", + "scope": 1477, + "src": "5295:24:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1435, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "5295:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "id": 1441, + "initialValue": { + "expression": { + "baseExpression": { + "id": 1437, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "5322:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1439, + "indexExpression": { + "id": 1438, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "5332:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5322:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "id": 1440, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userName", + "nodeType": "MemberAccess", + "referencedDeclaration": 1090, + "src": "5322:37:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage", + "typeString": "string storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5295:64:12" + }, + { + "assignments": [ + 1443 + ], + "declarations": [ + { + "constant": false, + "id": 1443, + "mutability": "mutable", + "name": "chainID", + "nameLocation": "5372:7:12", + "nodeType": "VariableDeclaration", + "scope": 1477, + "src": "5367:12:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1442, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5367:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "id": 1446, + "initialValue": { + "expression": { + "id": 1444, + "name": "block", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -4, + "src": "5382:5:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_block", + "typeString": "block" + } + }, + "id": 1445, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "chainid", + "nodeType": "MemberAccess", + "src": "5382:13:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5367:28:12" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 1453, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1448, + "name": "chainID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1443, + "src": "5411:7:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "35", + "id": 1451, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5427:1:12", + "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": 1450, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "5422:4:12", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_uint256_$", + "typeString": "type(uint256)" + }, + "typeName": { + "id": 1449, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "5422:4:12", + "typeDescriptions": {} + } + }, + "id": 1452, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5422:7:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5411:18:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746869732066756e6374696f6e20776f726b2773206f6e6c7920666f7220746573746e6574", + "id": 1454, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5431:39:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f", + "typeString": "literal_string \"this function work's only for testnet\"" + }, + "value": "this function work's only for testnet" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_a0ea6508f6dbc80d137d7362942cfacd5c60e8b3a029d5f76de3ef1b2fdaaa2f", + "typeString": "literal_string \"this function work's only for testnet\"" + } + ], + "id": 1447, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5403:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1455, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5403:68:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1456, + "nodeType": "ExpressionStatement", + "src": "5403:68:12" + }, + { + "expression": { + "id": 1460, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5620:35:12", + "subExpression": { + "baseExpression": { + "id": 1457, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "5627:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1459, + "indexExpression": { + "id": 1458, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "5637:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5627:28:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1461, + "nodeType": "ExpressionStatement", + "src": "5620:35:12" + }, + { + "expression": { + "id": 1465, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5663:27:12", + "subExpression": { + "baseExpression": { + "id": 1462, + "name": "tgIdToAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "5670:13:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 1464, + "indexExpression": { + "id": 1463, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "5684:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5670:20:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1466, + "nodeType": "ExpressionStatement", + "src": "5663:27:12" + }, + { + "expression": { + "id": 1470, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "5698:35:12", + "subExpression": { + "baseExpression": { + "id": 1467, + "name": "username_wallets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "5705:16:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 1469, + "indexExpression": { + "id": 1468, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1436, + "src": "5722:10:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5705:28:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1471, + "nodeType": "ExpressionStatement", + "src": "5698:35:12" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1473, + "name": "_tgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1429, + "src": "5761:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1474, + "name": "passportToDecline", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1423, + "src": "5767:17:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1472, + "name": "passportDenied", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1142, + "src": "5746:14:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_address_$returns$__$", + "typeString": "function (int64,address)" + } + }, + "id": 1475, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5746:39:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1476, + "nodeType": "EmitStatement", + "src": "5741:44:12" + } + ] + }, + "documentation": { + "id": 1421, + "nodeType": "StructuredDocumentation", + "src": "4983:175:12", + "text": " @dev This function is a service function which allow Owner to erase already approved passport\n and make clean state contract. NOT FOR USE IN PRODUCTION" + }, + "functionSelector": "65104afc", + "id": 1478, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1426, + "kind": "modifierInvocation", + "modifierName": { + "id": 1425, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "5222:9:12" + }, + "nodeType": "ModifierInvocation", + "src": "5222:9:12" + } + ], + "name": "DeletePassport", + "nameLocation": "5172:14:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1424, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1423, + "mutability": "mutable", + "name": "passportToDecline", + "nameLocation": "5196:17:12", + "nodeType": "VariableDeclaration", + "scope": 1478, + "src": "5188:25:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1422, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5188:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5187:27:12" + }, + "returnParameters": { + "id": 1427, + "nodeType": "ParameterList", + "parameters": [], + "src": "5232:0:12" + }, + "scope": 1745, + "src": "5163:628:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1494, + "nodeType": "Block", + "src": "6039:49:12", + "statements": [ + { + "expression": { + "id": 1492, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 1486, + "name": "trust_global", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1110, + "src": "6050:12:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + } + }, + "id": 1489, + "indexExpression": { + "id": 1487, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1481, + "src": "6063:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6050:18:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_bool_$", + "typeString": "mapping(int64 => bool)" + } + }, + "id": 1490, + "indexExpression": { + "id": 1488, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1483, + "src": "6069:2:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6050:22:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 1491, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6075:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6050:29:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1493, + "nodeType": "ExpressionStatement", + "src": "6050:29:12" + } + ] + }, + "documentation": { + "id": 1479, + "nodeType": "StructuredDocumentation", + "src": "5802:179:12", + "text": " \n @dev this INTERNAL function is to show trust to other user\n @param from tgid user who trust\n @param to tgid user who trusted by" + }, + "id": 1495, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iTrustTo", + "nameLocation": "5997:9:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1484, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1481, + "mutability": "mutable", + "name": "from", + "nameLocation": "6013:4:12", + "nodeType": "VariableDeclaration", + "scope": 1495, + "src": "6007:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1480, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6007:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1483, + "mutability": "mutable", + "name": "to", + "nameLocation": "6025:2:12", + "nodeType": "VariableDeclaration", + "scope": 1495, + "src": "6019:8:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1482, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6019:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "6006:22:12" + }, + "returnParameters": { + "id": 1485, + "nodeType": "ParameterList", + "parameters": [], + "src": "6039:0:12" + }, + "scope": 1745, + "src": "5988:100:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1511, + "nodeType": "Block", + "src": "6375:50:12", + "statements": [ + { + "expression": { + "id": 1509, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "baseExpression": { + "id": 1503, + "name": "trust_global", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1110, + "src": "6386:12:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + } + }, + "id": 1506, + "indexExpression": { + "id": 1504, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1498, + "src": "6399:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6386:18:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_bool_$", + "typeString": "mapping(int64 => bool)" + } + }, + "id": 1507, + "indexExpression": { + "id": 1505, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1500, + "src": "6405:2:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6386:22:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "66616c7365", + "id": 1508, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6411:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "6386:30:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 1510, + "nodeType": "ExpressionStatement", + "src": "6386:30:12" + } + ] + }, + "documentation": { + "id": 1496, + "nodeType": "StructuredDocumentation", + "src": "6096:221:12", + "text": " @dev this INTERNAL function is to DISRESPECT youser\n by DEFAULT you are TRUST NO 0NE!\n @param from tgid user who DONT TRUST\n @param to tgid user who looks suspiciouse" + }, + "id": 1512, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_iNotTrust", + "nameLocation": "6333:10:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1501, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1498, + "mutability": "mutable", + "name": "from", + "nameLocation": "6350:4:12", + "nodeType": "VariableDeclaration", + "scope": 1512, + "src": "6344:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1497, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6344:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1500, + "mutability": "mutable", + "name": "to", + "nameLocation": "6362:2:12", + "nodeType": "VariableDeclaration", + "scope": 1512, + "src": "6356:8:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1499, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6356:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "6343:22:12" + }, + "returnParameters": { + "id": 1502, + "nodeType": "ParameterList", + "parameters": [], + "src": "6375:0:12" + }, + "scope": 1745, + "src": "6324:101:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 1584, + "nodeType": "Block", + "src": "6663:649:12", + "statements": [ + { + "assignments": [ + 1524 + ], + "declarations": [ + { + "constant": false, + "id": 1524, + "mutability": "mutable", + "name": "from_p", + "nameLocation": "6690:6:12", + "nodeType": "VariableDeclaration", + "scope": 1584, + "src": "6674:22:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 1523, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1522, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1091, + "src": "6674:8:12" + }, + "referencedDeclaration": 1091, + "src": "6674:8:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 1528, + "initialValue": { + "arguments": [ + { + "id": 1526, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "6717:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "id": 1525, + "name": "GetPassportByTgId", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1736, + "src": "6699:17:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_int64_$returns$_t_struct$_Passport_$1091_memory_ptr_$", + "typeString": "function (int64) view returns (struct TGPassport.Passport memory)" + } + }, + "id": 1527, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6699:23:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6674:48:12" + }, + { + "assignments": [ + 1530 + ], + "declarations": [ + { + "constant": false, + "id": 1530, + "mutability": "mutable", + "name": "from_address", + "nameLocation": "6741:12:12", + "nodeType": "VariableDeclaration", + "scope": 1584, + "src": "6733:20:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1529, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6733:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1533, + "initialValue": { + "expression": { + "id": 1531, + "name": "from_p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1524, + "src": "6756:6:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "id": 1532, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "userAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1082, + "src": "6756:18:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6733:41:12" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1538, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1535, + "name": "from_address", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1530, + "src": "6793:12:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1536, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "6809:3:12", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1537, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "6809:10:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "6793:26:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "596f75722063757272656e742061646472657373206d69736d61746368207769746820796f7572207265676973747265642077616c6c65742061646472657373", + "id": 1539, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6821:66:12", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a", + "typeString": "literal_string \"Your current address mismatch with your registred wallet address\"" + }, + "value": "Your current address mismatch with your registred wallet address" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_6ca4ba6a77009737735bf11014205d80d89ab89d3854b8420d856b25f241758a", + "typeString": "literal_string \"Your current address mismatch with your registred wallet address\"" + } + ], + "id": 1534, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6785:7:12", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1540, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6785:103:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1541, + "nodeType": "ExpressionStatement", + "src": "6785:103:12" + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1544, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1542, + "name": "trust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "6967:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "74727565", + "id": 1543, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6976:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "6967:13:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "falseBody": { + "id": 1582, + "nodeType": "Block", + "src": "7145:158:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1565, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "7170:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1566, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "7175:2:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "id": 1564, + "name": "_iNotTrust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1512, + "src": "7159:10:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int64_$_t_int64_$returns$__$", + "typeString": "function (int64,int64)" + } + }, + "id": 1567, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7159:19:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1568, + "nodeType": "ExpressionStatement", + "src": "7159:19:12" + }, + { + "expression": { + "arguments": [ + { + "id": 1573, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "7219:2:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "expression": { + "baseExpression": { + "id": 1569, + "name": "opinion_changed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1116, + "src": "7192:15:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_array$_t_int64_$dyn_storage_$", + "typeString": "mapping(int64 => int64[] storage ref)" + } + }, + "id": 1571, + "indexExpression": { + "id": 1570, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "7208:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7192:21:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage", + "typeString": "int64[] storage ref" + } + }, + "id": 1572, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "7192:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_int64_$dyn_storage_ptr_$_t_int64_$returns$__$bound_to$_t_array$_t_int64_$dyn_storage_ptr_$", + "typeString": "function (int64[] storage pointer,int64)" + } + }, + "id": 1574, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7192:30:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1575, + "nodeType": "ExpressionStatement", + "src": "7192:30:12" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1577, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "7277:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1578, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "7282:2:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1579, + "name": "trust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "7285:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1576, + "name": "TrustChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1150, + "src": "7264:12:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_int64_$_t_bool_$returns$__$", + "typeString": "function (int64,int64,bool)" + } + }, + "id": 1580, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7264:27:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1581, + "nodeType": "EmitStatement", + "src": "7259:32:12" + } + ] + }, + "id": 1583, + "nodeType": "IfStatement", + "src": "6963:340:12", + "trueBody": { + "id": 1563, + "nodeType": "Block", + "src": "6982:157:12", + "statements": [ + { + "expression": { + "arguments": [ + { + "id": 1546, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "7006:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1547, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "7011:2:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "id": 1545, + "name": "_iTrustTo", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1495, + "src": "6996:9:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_int64_$_t_int64_$returns$__$", + "typeString": "function (int64,int64)" + } + }, + "id": 1548, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6996:18:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1549, + "nodeType": "ExpressionStatement", + "src": "6996:18:12" + }, + { + "expression": { + "arguments": [ + { + "id": 1554, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "7055:2:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "expression": { + "baseExpression": { + "id": 1550, + "name": "opinion_changed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1116, + "src": "7028:15:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_array$_t_int64_$dyn_storage_$", + "typeString": "mapping(int64 => int64[] storage ref)" + } + }, + "id": 1552, + "indexExpression": { + "id": 1551, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "7044:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7028:21:12", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage", + "typeString": "int64[] storage ref" + } + }, + "id": 1553, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "7028:26:12", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_int64_$dyn_storage_ptr_$_t_int64_$returns$__$bound_to$_t_array$_t_int64_$dyn_storage_ptr_$", + "typeString": "function (int64[] storage pointer,int64)" + } + }, + "id": 1555, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7028:30:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1556, + "nodeType": "ExpressionStatement", + "src": "7028:30:12" + }, + { + "eventCall": { + "arguments": [ + { + "id": 1558, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1515, + "src": "7113:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1559, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1517, + "src": "7118:2:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 1560, + "name": "trust", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1519, + "src": "7121:5:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + ], + "id": 1557, + "name": "TrustChanged", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1150, + "src": "7100:12:12", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_int64_$_t_bool_$returns$__$", + "typeString": "function (int64,int64,bool)" + } + }, + "id": 1561, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7100:27:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1562, + "nodeType": "EmitStatement", + "src": "7095:32:12" + } + ] + } + } + ] + }, + "documentation": { + "id": 1513, + "nodeType": "StructuredDocumentation", + "src": "6533:60:12", + "text": " @dev set trust 'from' tgid 'to' tgid" + }, + "functionSelector": "b910c898", + "id": 1585, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "SetTrustToID", + "nameLocation": "6609:12:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1520, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1515, + "mutability": "mutable", + "name": "from", + "nameLocation": "6628:4:12", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "6622:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1514, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6622:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1517, + "mutability": "mutable", + "name": "to", + "nameLocation": "6640:2:12", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "6634:8:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1516, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "6634:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1519, + "mutability": "mutable", + "name": "trust", + "nameLocation": "6649:5:12", + "nodeType": "VariableDeclaration", + "scope": 1585, + "src": "6644:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1518, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6644:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6621:34:12" + }, + "returnParameters": { + "id": 1521, + "nodeType": "ParameterList", + "parameters": [], + "src": "6663:0:12" + }, + "scope": 1745, + "src": "6600:712:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1601, + "nodeType": "Block", + "src": "7465:49:12", + "statements": [ + { + "expression": { + "baseExpression": { + "baseExpression": { + "id": 1595, + "name": "trust_global", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1110, + "src": "7483:12:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_mapping$_t_int64_$_t_bool_$_$", + "typeString": "mapping(int64 => mapping(int64 => bool))" + } + }, + "id": 1597, + "indexExpression": { + "id": 1596, + "name": "from", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1588, + "src": "7496:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7483:18:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_bool_$", + "typeString": "mapping(int64 => bool)" + } + }, + "id": 1599, + "indexExpression": { + "id": 1598, + "name": "to", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1590, + "src": "7502:2:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7483:22:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 1594, + "id": 1600, + "nodeType": "Return", + "src": "7476:29:12" + } + ] + }, + "documentation": { + "id": 1586, + "nodeType": "StructuredDocumentation", + "src": "7321:70:12", + "text": " @notice get to know if tgid from trust tgid to" + }, + "functionSelector": "4ac054bb", + "id": 1602, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetTrust", + "nameLocation": "7407:8:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1591, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1588, + "mutability": "mutable", + "name": "from", + "nameLocation": "7422:4:12", + "nodeType": "VariableDeclaration", + "scope": 1602, + "src": "7416:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1587, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "7416:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1590, + "mutability": "mutable", + "name": "to", + "nameLocation": "7434:2:12", + "nodeType": "VariableDeclaration", + "scope": 1602, + "src": "7428:8:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1589, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "7428:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "7415:22:12" + }, + "returnParameters": { + "id": 1594, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1593, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1602, + "src": "7459:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1592, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "7459:4:12", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "7458:6:12" + }, + "scope": 1745, + "src": "7398:116:12", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1614, + "nodeType": "Block", + "src": "7647:44:12", + "statements": [ + { + "expression": { + "id": 1612, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1610, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1078, + "src": "7657:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1611, + "name": "passportFee_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1605, + "src": "7672:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "7657:27:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1613, + "nodeType": "ExpressionStatement", + "src": "7657:27:12" + } + ] + }, + "documentation": { + "id": 1603, + "nodeType": "StructuredDocumentation", + "src": "7520:62:12", + "text": " @dev setting fee for applying for passport" + }, + "functionSelector": "d2125bd2", + "id": 1615, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "id": 1608, + "kind": "modifierInvocation", + "modifierName": { + "id": 1607, + "name": "onlyOwner", + "nodeType": "IdentifierPath", + "referencedDeclaration": 428, + "src": "7637:9:12" + }, + "nodeType": "ModifierInvocation", + "src": "7637:9:12" + } + ], + "name": "SetPassportFee", + "nameLocation": "7596:14:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1606, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1605, + "mutability": "mutable", + "name": "passportFee_", + "nameLocation": "7616:12:12", + "nodeType": "VariableDeclaration", + "scope": 1615, + "src": "7611:17:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1604, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7611:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7610:19:12" + }, + "returnParameters": { + "id": 1609, + "nodeType": "ParameterList", + "parameters": [], + "src": "7647:0:12" + }, + "scope": 1745, + "src": "7587:104:12", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1623, + "nodeType": "Block", + "src": "7829:36:12", + "statements": [ + { + "expression": { + "id": 1621, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1078, + "src": "7846:12:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 1620, + "id": 1622, + "nodeType": "Return", + "src": "7839:19:12" + } + ] + }, + "documentation": { + "id": 1616, + "nodeType": "StructuredDocumentation", + "src": "7697:74:12", + "text": " @dev getter to obtain how much user will pay for apply" + }, + "functionSelector": "48dc1561", + "id": 1624, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetPassportFee", + "nameLocation": "7785:14:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1617, + "nodeType": "ParameterList", + "parameters": [], + "src": "7799:2:12" + }, + "returnParameters": { + "id": 1620, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1619, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1624, + "src": "7823:4:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1618, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "7823:4:12", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7822:6:12" + }, + "scope": 1745, + "src": "7776:89:12", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1635, + "nodeType": "Block", + "src": "7943:41:12", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1631, + "name": "tgIdToAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1095, + "src": "7958:13:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 1633, + "indexExpression": { + "id": 1632, + "name": "tgId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1626, + "src": "7972:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7958:20:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1630, + "id": 1634, + "nodeType": "Return", + "src": "7951:27:12" + } + ] + }, + "functionSelector": "0c2fc6e3", + "id": 1636, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetPassportWalletByID", + "nameLocation": "7880:21:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1627, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1626, + "mutability": "mutable", + "name": "tgId_", + "nameLocation": "7908:5:12", + "nodeType": "VariableDeclaration", + "scope": 1636, + "src": "7902:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1625, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "7902:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "7901:13:12" + }, + "returnParameters": { + "id": 1630, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1629, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1636, + "src": "7935:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1628, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7935:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7934:9:12" + }, + "scope": 1745, + "src": "7871:113:12", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1657, + "nodeType": "Block", + "src": "8068:107:12", + "statements": [ + { + "assignments": [ + 1645 + ], + "declarations": [ + { + "constant": false, + "id": 1645, + "mutability": "mutable", + "name": "p", + "nameLocation": "8092:1:12", + "nodeType": "VariableDeclaration", + "scope": 1657, + "src": "8076:17:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 1644, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1643, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1091, + "src": "8076:8:12" + }, + "referencedDeclaration": 1091, + "src": "8076:8:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 1649, + "initialValue": { + "arguments": [ + { + "id": 1647, + "name": "user_wallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1638, + "src": "8117:11:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1646, + "name": "GetPassportByAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1676, + "src": "8096:20:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_address_$returns$_t_struct$_Passport_$1091_memory_ptr_$", + "typeString": "function (address) view returns (struct TGPassport.Passport memory)" + } + }, + "id": 1648, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8096:33:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8076:53:12" + }, + { + "expression": { + "id": 1653, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1650, + "name": "tgid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "8137:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "expression": { + "id": 1651, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1645, + "src": "8144:1:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "id": 1652, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1084, + "src": "8144:6:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "src": "8137:13:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "id": 1654, + "nodeType": "ExpressionStatement", + "src": "8137:13:12" + }, + { + "expression": { + "id": 1655, + "name": "tgid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1641, + "src": "8165:4:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "functionReturnParameters": 1642, + "id": 1656, + "nodeType": "Return", + "src": "8158:11:12" + } + ] + }, + "functionSelector": "61cabe37", + "id": 1658, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetTgIdByAddress", + "nameLocation": "7998:16:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1639, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1638, + "mutability": "mutable", + "name": "user_wallet", + "nameLocation": "8023:11:12", + "nodeType": "VariableDeclaration", + "scope": 1658, + "src": "8015:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1637, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8015:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8014:21:12" + }, + "returnParameters": { + "id": 1642, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1641, + "mutability": "mutable", + "name": "tgid", + "nameLocation": "8062:4:12", + "nodeType": "VariableDeclaration", + "scope": 1658, + "src": "8056:10:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1640, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "8056:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "8055:12:12" + }, + "scope": 1745, + "src": "7989:186:12", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1675, + "nodeType": "Block", + "src": "8268:72:12", + "statements": [ + { + "assignments": [ + 1668 + ], + "declarations": [ + { + "constant": false, + "id": 1668, + "mutability": "mutable", + "name": "p", + "nameLocation": "8292:1:12", + "nodeType": "VariableDeclaration", + "scope": 1675, + "src": "8276:17:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 1667, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1666, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1091, + "src": "8276:8:12" + }, + "referencedDeclaration": 1091, + "src": "8276:8:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 1672, + "initialValue": { + "baseExpression": { + "id": 1669, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "8296:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1671, + "indexExpression": { + "id": 1670, + "name": "user_wallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1660, + "src": "8306:11:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8296:22:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8276:42:12" + }, + { + "expression": { + "id": 1673, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1668, + "src": "8333:1:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "functionReturnParameters": 1665, + "id": 1674, + "nodeType": "Return", + "src": "8326:8:12" + } + ] + }, + "functionSelector": "1423ea07", + "id": 1676, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetPassportByAddress", + "nameLocation": "8189:20:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1661, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1660, + "mutability": "mutable", + "name": "user_wallet", + "nameLocation": "8218:11:12", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "8210:19:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1659, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8210:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8209:21:12" + }, + "returnParameters": { + "id": 1665, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1664, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1676, + "src": "8251:15:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 1663, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1662, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1091, + "src": "8251:8:12" + }, + "referencedDeclaration": 1091, + "src": "8251:8:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "src": "8250:17:12" + }, + "scope": 1745, + "src": "8180:160:12", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1687, + "nodeType": "Block", + "src": "8430:49:12", + "statements": [ + { + "expression": { + "baseExpression": { + "id": 1683, + "name": "username_wallets", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1104, + "src": "8445:16:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_string_memory_ptr_$_t_address_$", + "typeString": "mapping(string memory => address)" + } + }, + "id": 1685, + "indexExpression": { + "id": 1684, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1678, + "src": "8462:10:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8445:28:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1682, + "id": 1686, + "nodeType": "Return", + "src": "8438:35:12" + } + ] + }, + "functionSelector": "d2114e18", + "id": 1688, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetWalletByNickName", + "nameLocation": "8354:19:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1679, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1678, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "8388:10:12", + "nodeType": "VariableDeclaration", + "scope": 1688, + "src": "8374:24:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1677, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8374:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8373:26:12" + }, + "returnParameters": { + "id": 1682, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1681, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1688, + "src": "8421:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1680, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8421:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8420:9:12" + }, + "scope": 1745, + "src": "8345:134:12", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1711, + "nodeType": "Block", + "src": "8579:125:12", + "statements": [ + { + "assignments": [ + 1697 + ], + "declarations": [ + { + "constant": false, + "id": 1697, + "mutability": "mutable", + "name": "wallet_", + "nameLocation": "8595:7:12", + "nodeType": "VariableDeclaration", + "scope": 1711, + "src": "8587:15:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1696, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8587:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1701, + "initialValue": { + "arguments": [ + { + "id": 1699, + "name": "user_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1690, + "src": "8625:10:12", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1698, + "name": "GetWalletByNickName", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1688, + "src": "8605:19:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_string_memory_ptr_$returns$_t_address_$", + "typeString": "function (string memory) view returns (address)" + } + }, + "id": 1700, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8605:31:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8587:49:12" + }, + { + "assignments": [ + 1704 + ], + "declarations": [ + { + "constant": false, + "id": 1704, + "mutability": "mutable", + "name": "p", + "nameLocation": "8660:1:12", + "nodeType": "VariableDeclaration", + "scope": 1711, + "src": "8644:17:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 1703, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1702, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1091, + "src": "8644:8:12" + }, + "referencedDeclaration": 1091, + "src": "8644:8:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 1708, + "initialValue": { + "baseExpression": { + "id": 1705, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "8664:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1707, + "indexExpression": { + "id": 1706, + "name": "wallet_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1697, + "src": "8674:7:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8664:18:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8644:38:12" + }, + { + "expression": { + "id": 1709, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1704, + "src": "8697:1:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "functionReturnParameters": 1695, + "id": 1710, + "nodeType": "Return", + "src": "8690:8:12" + } + ] + }, + "functionSelector": "b25047c2", + "id": 1712, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetPassportByNickName", + "nameLocation": "8493:21:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1691, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1690, + "mutability": "mutable", + "name": "user_name_", + "nameLocation": "8529:10:12", + "nodeType": "VariableDeclaration", + "scope": 1712, + "src": "8515:24:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1689, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "8515:6:12", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "8514:26:12" + }, + "returnParameters": { + "id": 1695, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1694, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1712, + "src": "8562:15:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 1693, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1692, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1091, + "src": "8562:8:12" + }, + "referencedDeclaration": 1091, + "src": "8562:8:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "src": "8561:17:12" + }, + "scope": 1745, + "src": "8484:220:12", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1735, + "nodeType": "Block", + "src": "8787:120:12", + "statements": [ + { + "assignments": [ + 1721 + ], + "declarations": [ + { + "constant": false, + "id": 1721, + "mutability": "mutable", + "name": "wallet", + "nameLocation": "8803:6:12", + "nodeType": "VariableDeclaration", + "scope": 1735, + "src": "8795:14:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1720, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8795:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1725, + "initialValue": { + "arguments": [ + { + "id": 1723, + "name": "tgId_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1714, + "src": "8834:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "id": 1722, + "name": "GetPassportWalletByID", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1636, + "src": "8812:21:12", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_int64_$returns$_t_address_$", + "typeString": "function (int64) view returns (address)" + } + }, + "id": 1724, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "8812:28:12", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8795:45:12" + }, + { + "assignments": [ + 1728 + ], + "declarations": [ + { + "constant": false, + "id": 1728, + "mutability": "mutable", + "name": "p", + "nameLocation": "8864:1:12", + "nodeType": "VariableDeclaration", + "scope": 1735, + "src": "8848:17:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 1727, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1726, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1091, + "src": "8848:8:12" + }, + "referencedDeclaration": 1091, + "src": "8848:8:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "id": 1732, + "initialValue": { + "baseExpression": { + "id": 1729, + "name": "passports", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1100, + "src": "8868:9:12", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_Passport_$1091_storage_$", + "typeString": "mapping(address => struct TGPassport.Passport storage ref)" + } + }, + "id": 1731, + "indexExpression": { + "id": 1730, + "name": "wallet", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1721, + "src": "8878:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "8868:17:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage", + "typeString": "struct TGPassport.Passport storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "8848:37:12" + }, + { + "expression": { + "id": 1733, + "name": "p", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1728, + "src": "8900:1:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport memory" + } + }, + "functionReturnParameters": 1719, + "id": 1734, + "nodeType": "Return", + "src": "8893:8:12" + } + ] + }, + "functionSelector": "65a5637e", + "id": 1736, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetPassportByTgId", + "nameLocation": "8718:17:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1715, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1714, + "mutability": "mutable", + "name": "tgId_", + "nameLocation": "8742:5:12", + "nodeType": "VariableDeclaration", + "scope": 1736, + "src": "8736:11:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1713, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "8736:5:12", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "8735:13:12" + }, + "returnParameters": { + "id": 1719, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1718, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1736, + "src": "8770:15:12", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_memory_ptr", + "typeString": "struct TGPassport.Passport" + }, + "typeName": { + "id": 1717, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1716, + "name": "Passport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1091, + "src": "8770:8:12" + }, + "referencedDeclaration": 1091, + "src": "8770:8:12", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Passport_$1091_storage_ptr", + "typeString": "struct TGPassport.Passport" + } + }, + "visibility": "internal" + } + ], + "src": "8769:17:12" + }, + "scope": 1745, + "src": "8709:198:12", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 1743, + "nodeType": "Block", + "src": "8961:27:12", + "statements": [ + { + "expression": { + "id": 1741, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1080, + "src": "8976:6:12", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 1740, + "id": 1742, + "nodeType": "Return", + "src": "8969:13:12" + } + ] + }, + "functionSelector": "0ae50a39", + "id": 1744, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "GetOwner", + "nameLocation": "8921:8:12", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1737, + "nodeType": "ParameterList", + "parameters": [], + "src": "8929:2:12" + }, + "returnParameters": { + "id": 1740, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1739, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 1744, + "src": "8952:7:12", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1738, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "8952:7:12", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "8951:9:12" + }, + "scope": 1745, + "src": "8912:76:12", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + } + ], + "scope": 1746, + "src": "384:8607:12", + "usedErrors": [] + } + ], + "src": "31:8960:12" + }, + "id": 12 + }, + "contracts/Union.sol": { + "ast": { + "absolutePath": "contracts/Union.sol", + "exportedSymbols": { + "AccessControl": [ + 308 + ], + "Context": [ + 758 + ], + "Counters": [ + 832 + ], + "ERC165": [ + 1059 + ], + "IAccessControl": [ + 381 + ], + "IERC165": [ + 1071 + ], + "IERC20": [ + 564 + ], + "IERC20Metadata": [ + 589 + ], + "IERC721": [ + 705 + ], + "IERC721Enumerable": [ + 736 + ], + "Ownable": [ + 486 + ], + "Strings": [ + 1035 + ], + "TGPassport": [ + 1745 + ], + "Union": [ + 2228 + ] + }, + "id": 2229, + "license": "MIT", + "nodeType": "SourceUnit", + "nodes": [ + { + "id": 1747, + "literals": [ + "solidity", + "^", + "0.8", + ".0" + ], + "nodeType": "PragmaDirective", + "src": "176:23:13" + }, + { + "absolutePath": "@openzeppelin/contracts/access/Ownable.sol", + "file": "@openzeppelin/contracts/access/Ownable.sol", + "id": 1748, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2229, + "sourceUnit": 487, + "src": "296:52:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "file": "@openzeppelin/contracts/token/ERC20/IERC20.sol", + "id": 1749, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2229, + "sourceUnit": 565, + "src": "349:56:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "file": "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol", + "id": 1750, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2229, + "sourceUnit": 590, + "src": "406:75:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol", + "file": "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol", + "id": 1751, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2229, + "sourceUnit": 737, + "src": "482:79:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/utils/Counters.sol", + "file": "@openzeppelin/contracts/utils/Counters.sol", + "id": 1752, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2229, + "sourceUnit": 833, + "src": "562:52:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "@openzeppelin/contracts/access/AccessControl.sol", + "file": "@openzeppelin/contracts/access/AccessControl.sol", + "id": 1753, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2229, + "sourceUnit": 309, + "src": "615:58:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "absolutePath": "contracts/TGPassport.sol", + "file": "./TGPassport.sol", + "id": 1754, + "nameLocation": "-1:-1:-1", + "nodeType": "ImportDirective", + "scope": 2229, + "sourceUnit": 1746, + "src": "1149:26:13", + "symbolAliases": [], + "unitAlias": "" + }, + { + "abstract": false, + "baseContracts": [ + { + "baseName": { + "id": 1755, + "name": "Ownable", + "nodeType": "IdentifierPath", + "referencedDeclaration": 486, + "src": "1195:7:13" + }, + "id": 1756, + "nodeType": "InheritanceSpecifier", + "src": "1195:7:13" + }, + { + "baseName": { + "id": 1757, + "name": "AccessControl", + "nodeType": "IdentifierPath", + "referencedDeclaration": 308, + "src": "1204:13:13" + }, + "id": 1758, + "nodeType": "InheritanceSpecifier", + "src": "1204:13:13" + } + ], + "contractDependencies": [], + "contractKind": "contract", + "fullyImplemented": true, + "id": 2228, + "linearizedBaseContracts": [ + 2228, + 308, + 1059, + 1071, + 381, + 486, + 758 + ], + "name": "Union", + "nameLocation": "1186:5:13", + "nodeType": "ContractDefinition", + "nodes": [ + { + "id": 1762, + "libraryName": { + "id": 1759, + "name": "Counters", + "nodeType": "IdentifierPath", + "referencedDeclaration": 832, + "src": "1231:8:13" + }, + "nodeType": "UsingForDirective", + "src": "1225:36:13", + "typeName": { + "id": 1761, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1760, + "name": "Counters.Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 764, + "src": "1244:16:13" + }, + "referencedDeclaration": 764, + "src": "1244:16:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter" + } + } + }, + { + "constant": false, + "id": 1764, + "mutability": "mutable", + "name": "_passportFee", + "nameLocation": "1280:12:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "1267:25:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 1763, + "name": "uint", + "nodeType": "ElementaryTypeName", + "src": "1267:4:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1768, + "mutability": "mutable", + "name": "_owner", + "nameLocation": "1314:6:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "1298:32:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1765, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1298:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "arguments": [], + "expression": { + "argumentTypes": [], + "id": 1766, + "name": "owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 414, + "src": "1323:5:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$__$returns$_t_address_$", + "typeString": "function () view returns (address)" + } + }, + "id": 1767, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1323:7:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": false, + "id": 1771, + "mutability": "mutable", + "name": "murs", + "nameLocation": "1352:4:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "1336:65:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1769, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1336:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "value": { + "hexValue": "307833383341396538334533363739363130364561433131453863324662653862393246663436443361", + "id": 1770, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1359:42:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "value": "0x383A9e83E36796106EaC11E8c2Fbe8b92Ff46D3a" + }, + "visibility": "private" + }, + { + "constant": true, + "id": 1774, + "mutability": "constant", + "name": "_INTERFACE_ID_IERC721ENUMERABLE", + "nameLocation": "1432:31:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "1408:68:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + }, + "typeName": { + "id": 1772, + "name": "bytes4", + "nodeType": "ElementaryTypeName", + "src": "1408:6:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + }, + "value": { + "hexValue": "30783738306539643633", + "id": 1773, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1466:10:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_2014223715_by_1", + "typeString": "int_const 2014223715" + }, + "value": "0x780e9d63" + }, + "visibility": "private" + }, + { + "constant": true, + "functionSelector": "38743904", + "id": 1779, + "mutability": "constant", + "name": "moderator", + "nameLocation": "1507:9:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "1483:58:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 1775, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "1483:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "value": { + "arguments": [ + { + "hexValue": "6d6f64657261746f72", + "id": 1777, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "1529:11:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_cea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157", + "typeString": "literal_string \"moderator\"" + }, + "value": "moderator" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_stringliteral_cea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157", + "typeString": "literal_string \"moderator\"" + } + ], + "id": 1776, + "name": "keccak256", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -8, + "src": "1519:9:13", + "typeDescriptions": { + "typeIdentifier": "t_function_keccak256_pure$_t_bytes_memory_ptr_$returns$_t_bytes32_$", + "typeString": "function (bytes memory) pure returns (bytes32)" + } + }, + "id": 1778, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "1519:22:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "public" + }, + { + "anonymous": false, + "id": 1794, + "name": "ApplicationForJoin", + "nameLocation": "1573:18:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 1793, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1781, + "indexed": false, + "mutability": "mutable", + "name": "chat_id", + "nameLocation": "1598:7:13", + "nodeType": "VariableDeclaration", + "scope": 1794, + "src": "1592:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1780, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1592:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1783, + "indexed": false, + "mutability": "mutable", + "name": "applier_id", + "nameLocation": "1613:10:13", + "nodeType": "VariableDeclaration", + "scope": 1794, + "src": "1607:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1782, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1607:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1785, + "indexed": false, + "mutability": "mutable", + "name": "multy_wallet_address", + "nameLocation": "1632:20:13", + "nodeType": "VariableDeclaration", + "scope": 1794, + "src": "1624:28:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1784, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1624:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1788, + "indexed": false, + "mutability": "mutable", + "name": "vote_type", + "nameLocation": "1664:9:13", + "nodeType": "VariableDeclaration", + "scope": 1794, + "src": "1653:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 1787, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1786, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1839, + "src": "1653:10:13" + }, + "referencedDeclaration": 1839, + "src": "1653:10:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1790, + "indexed": false, + "mutability": "mutable", + "name": "voting_token_address", + "nameLocation": "1683:20:13", + "nodeType": "VariableDeclaration", + "scope": 1794, + "src": "1675:28:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1789, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1675:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1792, + "indexed": false, + "mutability": "mutable", + "name": "group_name", + "nameLocation": "1712:10:13", + "nodeType": "VariableDeclaration", + "scope": 1794, + "src": "1705:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1791, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1705:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1591:132:13" + }, + "src": "1567:157:13" + }, + { + "anonymous": false, + "id": 1809, + "name": "ApplicationForJoinIndexed", + "nameLocation": "1735:25:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 1808, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1796, + "indexed": true, + "mutability": "mutable", + "name": "chat_id", + "nameLocation": "1775:7:13", + "nodeType": "VariableDeclaration", + "scope": 1809, + "src": "1761:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1795, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1761:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1798, + "indexed": false, + "mutability": "mutable", + "name": "applier_id", + "nameLocation": "1790:10:13", + "nodeType": "VariableDeclaration", + "scope": 1809, + "src": "1784:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1797, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "1784:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1800, + "indexed": false, + "mutability": "mutable", + "name": "multy_wallet_address", + "nameLocation": "1809:20:13", + "nodeType": "VariableDeclaration", + "scope": 1809, + "src": "1801:28:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1799, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1801:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1803, + "indexed": false, + "mutability": "mutable", + "name": "vote_type", + "nameLocation": "1841:9:13", + "nodeType": "VariableDeclaration", + "scope": 1809, + "src": "1830:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 1802, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1801, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1839, + "src": "1830:10:13" + }, + "referencedDeclaration": 1839, + "src": "1830:10:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1805, + "indexed": false, + "mutability": "mutable", + "name": "voting_token_address", + "nameLocation": "1860:20:13", + "nodeType": "VariableDeclaration", + "scope": 1809, + "src": "1852:28:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1804, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1852:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1807, + "indexed": false, + "mutability": "mutable", + "name": "group_name", + "nameLocation": "1889:10:13", + "nodeType": "VariableDeclaration", + "scope": 1809, + "src": "1882:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1806, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "1882:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1760:140:13" + }, + "src": "1729:172:13" + }, + { + "anonymous": false, + "id": 1822, + "name": "ApprovedJoin", + "nameLocation": "1912:12:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 1821, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1811, + "indexed": false, + "mutability": "mutable", + "name": "chat_id", + "nameLocation": "1929:7:13", + "nodeType": "VariableDeclaration", + "scope": 1822, + "src": "1925:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1810, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "1925:3:13", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1813, + "indexed": false, + "mutability": "mutable", + "name": "multy_wallet_address", + "nameLocation": "1945:20:13", + "nodeType": "VariableDeclaration", + "scope": 1822, + "src": "1937:28:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1812, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1937:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1816, + "indexed": false, + "mutability": "mutable", + "name": "vote_type", + "nameLocation": "1977:9:13", + "nodeType": "VariableDeclaration", + "scope": 1822, + "src": "1966:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 1815, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1814, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1839, + "src": "1966:10:13" + }, + "referencedDeclaration": 1839, + "src": "1966:10:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1818, + "indexed": false, + "mutability": "mutable", + "name": "voting_token_address", + "nameLocation": "1996:20:13", + "nodeType": "VariableDeclaration", + "scope": 1822, + "src": "1988:28:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1817, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "1988:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1820, + "indexed": false, + "mutability": "mutable", + "name": "group_name", + "nameLocation": "2025:10:13", + "nodeType": "VariableDeclaration", + "scope": 1822, + "src": "2018:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1819, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2018:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "1924:112:13" + }, + "src": "1906:131:13" + }, + { + "anonymous": false, + "id": 1835, + "name": "DeclinedApplication", + "nameLocation": "2048:19:13", + "nodeType": "EventDefinition", + "parameters": { + "id": 1834, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1824, + "indexed": false, + "mutability": "mutable", + "name": "chat_id", + "nameLocation": "2072:7:13", + "nodeType": "VariableDeclaration", + "scope": 1835, + "src": "2068:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + }, + "typeName": { + "id": 1823, + "name": "int", + "nodeType": "ElementaryTypeName", + "src": "2068:3:13", + "typeDescriptions": { + "typeIdentifier": "t_int256", + "typeString": "int256" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1826, + "indexed": false, + "mutability": "mutable", + "name": "multy_wallet_address", + "nameLocation": "2088:20:13", + "nodeType": "VariableDeclaration", + "scope": 1835, + "src": "2080:28:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1825, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2080:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1829, + "indexed": false, + "mutability": "mutable", + "name": "vote_type", + "nameLocation": "2120:9:13", + "nodeType": "VariableDeclaration", + "scope": 1835, + "src": "2109:20:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 1828, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1827, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1839, + "src": "2109:10:13" + }, + "referencedDeclaration": 1839, + "src": "2109:10:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1831, + "indexed": false, + "mutability": "mutable", + "name": "voting_token_address", + "nameLocation": "2139:20:13", + "nodeType": "VariableDeclaration", + "scope": 1835, + "src": "2131:28:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1830, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2131:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1833, + "indexed": false, + "mutability": "mutable", + "name": "group_name", + "nameLocation": "2168:10:13", + "nodeType": "VariableDeclaration", + "scope": 1835, + "src": "2161:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1832, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2161:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "2067:112:13" + }, + "src": "2042:138:13" + }, + { + "canonicalName": "Union.VotingType", + "id": 1839, + "members": [ + { + "id": 1836, + "name": "erc20", + "nameLocation": "2212:5:13", + "nodeType": "EnumValue", + "src": "2212:5:13" + }, + { + "id": 1837, + "name": "erc20Votes", + "nameLocation": "2219:10:13", + "nodeType": "EnumValue", + "src": "2219:10:13" + }, + { + "id": 1838, + "name": "erc721", + "nameLocation": "2231:6:13", + "nodeType": "EnumValue", + "src": "2231:6:13" + } + ], + "name": "VotingType", + "nameLocation": "2200:10:13", + "nodeType": "EnumDefinition", + "src": "2195:44:13" + }, + { + "canonicalName": "Union.DAO", + "id": 1855, + "members": [ + { + "constant": false, + "id": 1841, + "mutability": "mutable", + "name": "chatOwnerAddress", + "nameLocation": "2307:16:13", + "nodeType": "VariableDeclaration", + "scope": 1855, + "src": "2299:24:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1840, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2299:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1843, + "mutability": "mutable", + "name": "tgId", + "nameLocation": "2337:4:13", + "nodeType": "VariableDeclaration", + "scope": 1855, + "src": "2331:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1842, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "2331:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1845, + "mutability": "mutable", + "name": "valid", + "nameLocation": "2354:5:13", + "nodeType": "VariableDeclaration", + "scope": 1855, + "src": "2349:10:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1844, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "2349:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1847, + "mutability": "mutable", + "name": "multisigAddress", + "nameLocation": "2375:15:13", + "nodeType": "VariableDeclaration", + "scope": 1855, + "src": "2367:23:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1846, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2367:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1850, + "mutability": "mutable", + "name": "votingType", + "nameLocation": "2409:10:13", + "nodeType": "VariableDeclaration", + "scope": 1855, + "src": "2398:21:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 1849, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1848, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1839, + "src": "2398:10:13" + }, + "referencedDeclaration": 1839, + "src": "2398:10:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1852, + "mutability": "mutable", + "name": "votingToken", + "nameLocation": "2435:11:13", + "nodeType": "VariableDeclaration", + "scope": 1855, + "src": "2427:19:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1851, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2427:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1854, + "mutability": "mutable", + "name": "group_name", + "nameLocation": "2461:10:13", + "nodeType": "VariableDeclaration", + "scope": 1855, + "src": "2454:17:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1853, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "2454:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "name": "DAO", + "nameLocation": "2287:3:13", + "nodeType": "StructDefinition", + "scope": 2228, + "src": "2280:209:13", + "visibility": "public" + }, + { + "body": { + "id": 1887, + "nodeType": "Block", + "src": "2572:354:13", + "statements": [ + { + "expression": { + "id": 1862, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1860, + "name": "_passportContract", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1905, + "src": "2582:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1861, + "name": "passportContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1857, + "src": "2602:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "2582:37:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1863, + "nodeType": "ExpressionStatement", + "src": "2582:37:13" + }, + { + "expression": { + "id": 1868, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1864, + "name": "tgpassport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1908, + "src": "2629:10:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$1745", + "typeString": "contract TGPassport" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 1866, + "name": "passportContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1857, + "src": "2653:17:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1865, + "name": "TGPassport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1745, + "src": "2642:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_TGPassport_$1745_$", + "typeString": "type(contract TGPassport)" + } + }, + "id": 1867, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2642:29:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$1745", + "typeString": "contract TGPassport" + } + }, + "src": "2629:42:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$1745", + "typeString": "contract TGPassport" + } + }, + "id": 1869, + "nodeType": "ExpressionStatement", + "src": "2629:42:13" + }, + { + "expression": { + "arguments": [ + { + "id": 1871, + "name": "DEFAULT_ADMIN_ROLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 27, + "src": "2733:18:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 1872, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2752:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1873, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2752:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1870, + "name": "_grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "2722:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1874, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2722:41:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1875, + "nodeType": "ExpressionStatement", + "src": "2722:41:13" + }, + { + "expression": { + "arguments": [ + { + "id": 1877, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1779, + "src": "2784:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "expression": { + "id": 1878, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "2794:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1879, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "2794:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1876, + "name": "_grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "2773:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1880, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2773:32:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1881, + "nodeType": "ExpressionStatement", + "src": "2773:32:13" + }, + { + "expression": { + "arguments": [ + { + "id": 1883, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1779, + "src": "2860:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + { + "id": 1884, + "name": "murs", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1771, + "src": "2870:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1882, + "name": "_grantRole", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 276, + "src": "2849:10:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_bytes32_$_t_address_$returns$__$", + "typeString": "function (bytes32,address)" + } + }, + "id": 1885, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "2849:26:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1886, + "nodeType": "ExpressionStatement", + "src": "2849:26:13" + } + ] + }, + "id": 1888, + "implemented": true, + "kind": "constructor", + "modifiers": [], + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1858, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1857, + "mutability": "mutable", + "name": "passportContract_", + "nameLocation": "2554:17:13", + "nodeType": "VariableDeclaration", + "scope": 1888, + "src": "2546:25:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1856, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "2546:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "2545:27:13" + }, + "returnParameters": { + "id": 1859, + "nodeType": "ParameterList", + "parameters": [], + "src": "2572:0:13" + }, + "scope": 2228, + "src": "2534:392:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "d6b2da8e", + "id": 1892, + "mutability": "mutable", + "name": "daoAddresses", + "nameLocation": "3062:12:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "3028:46:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + }, + "typeName": { + "id": 1891, + "keyType": { + "id": 1889, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "3037:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "nodeType": "Mapping", + "src": "3028:26:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + }, + "valueType": { + "id": 1890, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3046:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "functionSelector": "d698b364", + "id": 1895, + "mutability": "mutable", + "name": "Chat_id_array", + "nameLocation": "3096:13:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "3081:28:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage", + "typeString": "int64[]" + }, + "typeName": { + "baseType": { + "id": 1893, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "3081:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "id": 1894, + "nodeType": "ArrayTypeName", + "src": "3081:7:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage_ptr", + "typeString": "int64[]" + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 1898, + "mutability": "mutable", + "name": "dao_count", + "nameLocation": "3133:9:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "3116:26:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage", + "typeString": "struct Counters.Counter" + }, + "typeName": { + "id": 1897, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1896, + "name": "Counters.Counter", + "nodeType": "IdentifierPath", + "referencedDeclaration": 764, + "src": "3116:16:13" + }, + "referencedDeclaration": 764, + "src": "3116:16:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage_ptr", + "typeString": "struct Counters.Counter" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "functionSelector": "c25f3cf6", + "id": 1903, + "mutability": "mutable", + "name": "daos", + "nameLocation": "3239:4:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "3208:35:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$1855_storage_$", + "typeString": "mapping(address => struct Union.DAO)" + }, + "typeName": { + "id": 1902, + "keyType": { + "id": 1899, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3216:7:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Mapping", + "src": "3208:23:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$1855_storage_$", + "typeString": "mapping(address => struct Union.DAO)" + }, + "valueType": { + "id": 1901, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1900, + "name": "DAO", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1855, + "src": "3227:3:13" + }, + "referencedDeclaration": 1855, + "src": "3227:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_storage_ptr", + "typeString": "struct Union.DAO" + } + } + }, + "visibility": "public" + }, + { + "constant": false, + "id": 1905, + "mutability": "mutable", + "name": "_passportContract", + "nameLocation": "3266:17:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "3250:33:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1904, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "3250:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "private" + }, + { + "constant": false, + "functionSelector": "7527d5a1", + "id": 1908, + "mutability": "mutable", + "name": "tgpassport", + "nameLocation": "3307:10:13", + "nodeType": "VariableDeclaration", + "scope": 2228, + "src": "3289:28:13", + "stateVariable": true, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$1745", + "typeString": "contract TGPassport" + }, + "typeName": { + "id": 1907, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1906, + "name": "TGPassport", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1745, + "src": "3289:10:13" + }, + "referencedDeclaration": 1745, + "src": "3289:10:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$1745", + "typeString": "contract TGPassport" + } + }, + "visibility": "public" + }, + { + "body": { + "id": 2033, + "nodeType": "Block", + "src": "4196:1157:13", + "statements": [ + { + "assignments": [ + 1926 + ], + "declarations": [ + { + "constant": false, + "id": 1926, + "mutability": "mutable", + "name": "daoOwner", + "nameLocation": "4379:8:13", + "nodeType": "VariableDeclaration", + "scope": 2033, + "src": "4371:16:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1925, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4371:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 1931, + "initialValue": { + "arguments": [ + { + "id": 1929, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1911, + "src": "4423:9:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "expression": { + "id": 1927, + "name": "tgpassport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1908, + "src": "4390:10:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$1745", + "typeString": "contract TGPassport" + } + }, + "id": 1928, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GetPassportWalletByID", + "nodeType": "MemberAccess", + "referencedDeclaration": 1636, + "src": "4390:32:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_int64_$returns$_t_address_$", + "typeString": "function (int64) view external returns (address)" + } + }, + "id": 1930, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4390:43:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4371:62:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1936, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1933, + "name": "daoOwner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1926, + "src": "4451:8:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 1934, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4463:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1935, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4463:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4451:22:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "5573657220646964206e6f742072656769737472656420696e20544750", + "id": 1937, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4474:31:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9", + "typeString": "literal_string \"User did not registred in TGP\"" + }, + "value": "User did not registred in TGP" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_143c6c43dcc20d2c90ed1c643b825203228dd1e5a3efe6d2b9a880ac05eba1c9", + "typeString": "literal_string \"User did not registred in TGP\"" + } + ], + "id": 1932, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4443:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1938, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4443:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1939, + "nodeType": "ExpressionStatement", + "src": "4443:63:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "id": 1948, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "baseExpression": { + "id": 1941, + "name": "daoAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1892, + "src": "4523:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 1943, + "indexExpression": { + "id": 1942, + "name": "daoTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1913, + "src": "4536:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "4523:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "arguments": [ + { + "hexValue": "307830", + "id": 1946, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4554:3:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + }, + "value": "0x0" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_rational_0_by_1", + "typeString": "int_const 0" + } + ], + "id": 1945, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "nodeType": "ElementaryTypeNameExpression", + "src": "4546:7:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_address_$", + "typeString": "type(address)" + }, + "typeName": { + "id": 1944, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4546:7:13", + "typeDescriptions": {} + } + }, + "id": 1947, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4546:12:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4523:35:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "746869732063686174207467696420616c72656164792074616b656e", + "id": 1949, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4560:30:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c", + "typeString": "literal_string \"this chat tgid already taken\"" + }, + "value": "this chat tgid already taken" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_5e939b351b3234d8bce4a1099760f68bc929e5961f63ee150b5e2688119b486c", + "typeString": "literal_string \"this chat tgid already taken\"" + } + ], + "id": 1940, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4515:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1950, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4515:76:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1951, + "nodeType": "ExpressionStatement", + "src": "4515:76:13" + }, + { + "expression": { + "id": 1956, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1952, + "name": "daoAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1892, + "src": "4599:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 1954, + "indexExpression": { + "id": 1953, + "name": "daoTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1913, + "src": "4612:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4599:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 1955, + "name": "dao_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1915, + "src": "4621:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "src": "4599:26:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1957, + "nodeType": "ExpressionStatement", + "src": "4599:26:13" + }, + { + "assignments": [ + 1959 + ], + "declarations": [ + { + "constant": false, + "id": 1959, + "mutability": "mutable", + "name": "checkStandard", + "nameLocation": "4644:13:13", + "nodeType": "VariableDeclaration", + "scope": 2033, + "src": "4639:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1958, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4639:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "id": 1964, + "initialValue": { + "arguments": [ + { + "id": 1961, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1918, + "src": "4686:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + { + "id": 1962, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1920, + "src": "4699:20:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 1960, + "name": "_checkStandardVotingToken", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2192, + "src": "4660:25:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_enum$_VotingType_$1839_$_t_address_$returns$_t_bool_$", + "typeString": "function (enum Union.VotingType,address) view returns (bool)" + } + }, + "id": 1963, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4660:60:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4639:81:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 1968, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 1966, + "name": "checkStandard", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1959, + "src": "4736:13:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "74727565", + "id": 1967, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4753:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "4736:21:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "436f6e747261637420646f6573206e6f74206d61746368207769746820636f72726573706f6e64696e672074797065", + "id": 1969, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4758:49:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24", + "typeString": "literal_string \"Contract does not match with corresponding type\"" + }, + "value": "Contract does not match with corresponding type" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_81e7a0bc68ec1b28191b07f9e0ccf5b8813202fd61cd534d4f113cbde2d2cc24", + "typeString": "literal_string \"Contract does not match with corresponding type\"" + } + ], + "id": 1965, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "4728:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 1970, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4728:80:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 1971, + "nodeType": "ExpressionStatement", + "src": "4728:80:13" + }, + { + "expression": { + "id": 1976, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "id": 1972, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1764, + "src": "4817:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 1973, + "name": "tgpassport", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1908, + "src": "4832:10:13", + "typeDescriptions": { + "typeIdentifier": "t_contract$_TGPassport_$1745", + "typeString": "contract TGPassport" + } + }, + "id": 1974, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "GetPassportFee", + "nodeType": "MemberAccess", + "referencedDeclaration": 1624, + "src": "4832:25:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint256_$", + "typeString": "function () view external returns (uint256)" + } + }, + "id": 1975, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4832:27:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "4817:42:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "id": 1977, + "nodeType": "ExpressionStatement", + "src": "4817:42:13" + }, + { + "expression": { + "id": 1991, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 1978, + "name": "daos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "4867:4:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$1855_storage_$", + "typeString": "mapping(address => struct Union.DAO storage ref)" + } + }, + "id": 1980, + "indexExpression": { + "id": 1979, + "name": "dao_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1915, + "src": "4872:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "4867:10:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "expression": { + "id": 1982, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "4884:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 1983, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "sender", + "nodeType": "MemberAccess", + "src": "4884:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1984, + "name": "daoTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1913, + "src": "4896:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "hexValue": "66616c7365", + "id": 1985, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "4903:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + { + "id": 1986, + "name": "dao_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1915, + "src": "4910:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1987, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1918, + "src": "4916:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + { + "id": 1988, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1920, + "src": "4929:20:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 1989, + "name": "dao_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1922, + "src": "4951:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 1981, + "name": "DAO", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1855, + "src": "4880:3:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_struct$_DAO_$1855_storage_ptr_$", + "typeString": "type(struct Union.DAO storage pointer)" + } + }, + "id": 1990, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "structConstructorCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4880:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "src": "4867:94:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "id": 1992, + "nodeType": "ExpressionStatement", + "src": "4867:94:13" + }, + { + "assignments": [ + 1994, + null + ], + "declarations": [ + { + "constant": false, + "id": 1994, + "mutability": "mutable", + "name": "feePaid", + "nameLocation": "4975:7:13", + "nodeType": "VariableDeclaration", + "scope": 2033, + "src": "4970:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 1993, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "4970:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + }, + null + ], + "id": 2001, + "initialValue": { + "arguments": [ + { + "hexValue": "", + "id": 1999, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5020:2:13", + "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": 1995, + "name": "_owner", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1768, + "src": "4987:6:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "id": 1996, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "call", + "nodeType": "MemberAccess", + "src": "4987:11:13", + "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": 1998, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "names": [ + "value" + ], + "nodeType": "FunctionCallOptions", + "options": [ + { + "id": 1997, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1764, + "src": "5006:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + } + ], + "src": "4987:32:13", + "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": 2000, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "4987:36:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$_t_bool_$_t_bytes_memory_ptr_$", + "typeString": "tuple(bool,bytes memory)" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "4969:54:13" + }, + { + "expression": { + "arguments": [ + { + "id": 2003, + "name": "feePaid", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1994, + "src": "5041:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "556e61626c6520746f207472616e7366657220666565", + "id": 2004, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5050:24:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "typeString": "literal_string \"Unable to transfer fee\"" + }, + "value": "Unable to transfer fee" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_307b20fa3f472a0476bba10dc4d2efd0ed0f02a4fba3f0d1532c9ad3e905703f", + "typeString": "literal_string \"Unable to transfer fee\"" + } + ], + "id": 2002, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5033:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2005, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5033:42:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2006, + "nodeType": "ExpressionStatement", + "src": "5033:42:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "id": 2011, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2008, + "name": "msg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": -15, + "src": "5092:3:13", + "typeDescriptions": { + "typeIdentifier": "t_magic_message", + "typeString": "msg" + } + }, + "id": 2009, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "value", + "nodeType": "MemberAccess", + "src": "5092:9:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "id": 2010, + "name": "_passportFee", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1764, + "src": "5105:12:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "src": "5092:25:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "50617373706f727420666565206973206e6f742070616964", + "id": 2012, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5119:26:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "typeString": "literal_string \"Passport fee is not paid\"" + }, + "value": "Passport fee is not paid" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_4ab607b63178ad4c8a571e67dd2c9d6e5370562fb80716b43f9ca5b22dd21a7d", + "typeString": "literal_string \"Passport fee is not paid\"" + } + ], + "id": 2007, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5083:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2013, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5083:63:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2014, + "nodeType": "ExpressionStatement", + "src": "5083:63:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2016, + "name": "daoTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1913, + "src": "5178:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2017, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1911, + "src": "5184:9:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2018, + "name": "dao_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1915, + "src": "5194:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2019, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1918, + "src": "5199:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + { + "id": 2020, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1920, + "src": "5211:20:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2021, + "name": "dao_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1922, + "src": "5233:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2015, + "name": "ApplicationForJoin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1794, + "src": "5159:18:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_int64_$_t_address_$_t_enum$_VotingType_$1839_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int64,int64,address,enum Union.VotingType,address,string memory)" + } + }, + "id": 2022, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5159:84:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2023, + "nodeType": "EmitStatement", + "src": "5154:89:13" + }, + { + "eventCall": { + "arguments": [ + { + "id": 2025, + "name": "daoTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1913, + "src": "5282:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2026, + "name": "applyerTg", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1911, + "src": "5288:9:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "id": 2027, + "name": "dao_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1915, + "src": "5298:4:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2028, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1918, + "src": "5303:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + { + "id": 2029, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1920, + "src": "5315:20:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "id": 2030, + "name": "dao_name_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1922, + "src": "5337:9:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2024, + "name": "ApplicationForJoinIndexed", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1809, + "src": "5256:25:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int64_$_t_int64_$_t_address_$_t_enum$_VotingType_$1839_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int64,int64,address,enum Union.VotingType,address,string memory)" + } + }, + "id": 2031, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5256:91:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2032, + "nodeType": "EmitStatement", + "src": "5251:96:13" + } + ] + }, + "documentation": { + "id": 1909, + "nodeType": "StructuredDocumentation", + "src": "3330:699:13", + "text": "This function suggest applying for union for any dao\n REQUIREMENTS:\n 1.dao should have it's multisig address\n 2.owner of multisig must be registred in Passport contract with it's personal tg_id\n 3. this tg_id must be equal to tgid of appling chat admin.\n Last check can be done only by oracle\n @param applyerTg -- tgid of user who sent apply\n @param daoTg -- tgid of chat\n @param dao_ -- multisig address\n @param votingType_ -- represents voting token's type: 0=erc20 1=erc20Snapshot 2=erc721\n @param dao_name_ -- string name of group chat. can be uses as a link (if link is https://t.me/eth_ru then name is @eth_ru)" + }, + "functionSelector": "b9f7076f", + "id": 2034, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "ApplyForUnion", + "nameLocation": "4043:13:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 1923, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 1911, + "mutability": "mutable", + "name": "applyerTg", + "nameLocation": "4064:9:13", + "nodeType": "VariableDeclaration", + "scope": 2034, + "src": "4058:15:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1910, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "4058:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1913, + "mutability": "mutable", + "name": "daoTg", + "nameLocation": "4081:5:13", + "nodeType": "VariableDeclaration", + "scope": 2034, + "src": "4075:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 1912, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "4075:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1915, + "mutability": "mutable", + "name": "dao_", + "nameLocation": "4096:4:13", + "nodeType": "VariableDeclaration", + "scope": 2034, + "src": "4088:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1914, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4088:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1918, + "mutability": "mutable", + "name": "votingType_", + "nameLocation": "4113:11:13", + "nodeType": "VariableDeclaration", + "scope": 2034, + "src": "4102:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 1917, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 1916, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1839, + "src": "4102:10:13" + }, + "referencedDeclaration": 1839, + "src": "4102:10:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1920, + "mutability": "mutable", + "name": "votingTokenContract_", + "nameLocation": "4134:20:13", + "nodeType": "VariableDeclaration", + "scope": 2034, + "src": "4126:28:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 1919, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "4126:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 1922, + "mutability": "mutable", + "name": "dao_name_", + "nameLocation": "4170:9:13", + "nodeType": "VariableDeclaration", + "scope": 2034, + "src": "4156:23:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string" + }, + "typeName": { + "id": 1921, + "name": "string", + "nodeType": "ElementaryTypeName", + "src": "4156:6:13", + "typeDescriptions": { + "typeIdentifier": "t_string_storage_ptr", + "typeString": "string" + } + }, + "visibility": "internal" + } + ], + "src": "4057:123:13" + }, + "returnParameters": { + "id": 1924, + "nodeType": "ParameterList", + "parameters": [], + "src": "4196:0:13" + }, + "scope": 2228, + "src": "4034:1319:13", + "stateMutability": "payable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2095, + "nodeType": "Block", + "src": "5640:358:13", + "statements": [ + { + "assignments": [ + 2045 + ], + "declarations": [ + { + "constant": false, + "id": 2045, + "mutability": "mutable", + "name": "org", + "nameLocation": "5659:3:13", + "nodeType": "VariableDeclaration", + "scope": 2095, + "src": "5648:14:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO" + }, + "typeName": { + "id": 2044, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2043, + "name": "DAO", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1855, + "src": "5648:3:13" + }, + "referencedDeclaration": 1855, + "src": "5648:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_storage_ptr", + "typeString": "struct Union.DAO" + } + }, + "visibility": "internal" + } + ], + "id": 2049, + "initialValue": { + "baseExpression": { + "id": 2046, + "name": "daos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "5665:4:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$1855_storage_$", + "typeString": "mapping(address => struct Union.DAO storage ref)" + } + }, + "id": 2048, + "indexExpression": { + "id": 2047, + "name": "daoAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2037, + "src": "5670:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "5665:16:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "5648:33:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2054, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2051, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2045, + "src": "5697:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2052, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1845, + "src": "5697:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 2053, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5710:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "5697:18:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "616c726561647920686173206265656e20617070726f766564204f52206469646e2774206170706c69656420617420616c6c", + "id": 2055, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5717:52:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "typeString": "literal_string \"already has been approved OR didn't applied at all\"" + }, + "value": "already has been approved OR didn't applied at all" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "typeString": "literal_string \"already has been approved OR didn't applied at all\"" + } + ], + "id": 2050, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "5689:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2056, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5689:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2057, + "nodeType": "ExpressionStatement", + "src": "5689:81:13" + }, + { + "expression": { + "id": 2062, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "expression": { + "id": 2058, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2045, + "src": "5778:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2060, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "memberName": "valid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1845, + "src": "5778:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "hexValue": "74727565", + "id": 2061, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "5790:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "true" + }, + "src": "5778:16:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2063, + "nodeType": "ExpressionStatement", + "src": "5778:16:13" + }, + { + "expression": { + "id": 2068, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "baseExpression": { + "id": 2064, + "name": "daos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "5802:4:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$1855_storage_$", + "typeString": "mapping(address => struct Union.DAO storage ref)" + } + }, + "id": 2066, + "indexExpression": { + "id": 2065, + "name": "daoAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2037, + "src": "5807:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "5802:16:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "id": 2067, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2045, + "src": "5821:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "src": "5802:22:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "id": 2069, + "nodeType": "ExpressionStatement", + "src": "5802:22:13" + }, + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 2070, + "name": "dao_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1898, + "src": "5832:9:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage", + "typeString": "struct Counters.Counter storage ref" + } + }, + "id": 2072, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "increment", + "nodeType": "MemberAccess", + "referencedDeclaration": 790, + "src": "5832:19:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_nonpayable$_t_struct$_Counter_$764_storage_ptr_$returns$__$bound_to$_t_struct$_Counter_$764_storage_ptr_$", + "typeString": "function (struct Counters.Counter storage pointer)" + } + }, + "id": 2073, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5832:21:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2074, + "nodeType": "ExpressionStatement", + "src": "5832:21:13" + }, + { + "expression": { + "arguments": [ + { + "expression": { + "id": 2078, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2045, + "src": "5880:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2079, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1843, + "src": "5880:8:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + ], + "expression": { + "id": 2075, + "name": "Chat_id_array", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1895, + "src": "5861:13:13", + "typeDescriptions": { + "typeIdentifier": "t_array$_t_int64_$dyn_storage", + "typeString": "int64[] storage ref" + } + }, + "id": 2077, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "push", + "nodeType": "MemberAccess", + "src": "5861:18:13", + "typeDescriptions": { + "typeIdentifier": "t_function_arraypush_nonpayable$_t_array$_t_int64_$dyn_storage_ptr_$_t_int64_$returns$__$bound_to$_t_array$_t_int64_$dyn_storage_ptr_$", + "typeString": "function (int64[] storage pointer,int64)" + } + }, + "id": 2080, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5861:28:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2081, + "nodeType": "ExpressionStatement", + "src": "5861:28:13" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 2083, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2045, + "src": "5915:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2084, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1843, + "src": "5915:8:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 2085, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2045, + "src": "5924:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2086, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "multisigAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1847, + "src": "5924:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2087, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2045, + "src": "5944:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2088, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingType", + "nodeType": "MemberAccess", + "referencedDeclaration": 1850, + "src": "5944:14:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + { + "expression": { + "id": 2089, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2045, + "src": "5959:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2090, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingToken", + "nodeType": "MemberAccess", + "referencedDeclaration": 1852, + "src": "5959:15:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2091, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2045, + "src": "5976:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2092, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1854, + "src": "5976:14:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2082, + "name": "ApprovedJoin", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1822, + "src": "5902:12:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int256_$_t_address_$_t_enum$_VotingType_$1839_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int256,address,enum Union.VotingType,address,string memory)" + } + }, + "id": 2093, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "5902:89:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2094, + "nodeType": "EmitStatement", + "src": "5897:94:13" + } + ] + }, + "documentation": { + "id": 2035, + "nodeType": "StructuredDocumentation", + "src": "5365:202:13", + "text": " @dev This function intended to be used by bot, cause only bot can check if tg id of multisig owner is eqal of tg id of chat admin\n @param daoAddress address of multisig wallet" + }, + "functionSelector": "ad8f8660", + "id": 2096, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2040, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1779, + "src": "5629:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2041, + "kind": "modifierInvocation", + "modifierName": { + "id": 2039, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "5620:8:13" + }, + "nodeType": "ModifierInvocation", + "src": "5620:19:13" + } + ], + "name": "ApproveJoin", + "nameLocation": "5581:11:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2038, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2037, + "mutability": "mutable", + "name": "daoAddress", + "nameLocation": "5601:10:13", + "nodeType": "VariableDeclaration", + "scope": 2096, + "src": "5593:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2036, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "5593:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "5592:20:13" + }, + "returnParameters": { + "id": 2042, + "nodeType": "ParameterList", + "parameters": [], + "src": "5640:0:13" + }, + "scope": 2228, + "src": "5572:426:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2144, + "nodeType": "Block", + "src": "6209:373:13", + "statements": [ + { + "assignments": [ + 2107 + ], + "declarations": [ + { + "constant": false, + "id": 2107, + "mutability": "mutable", + "name": "org", + "nameLocation": "6230:3:13", + "nodeType": "VariableDeclaration", + "scope": 2144, + "src": "6219:14:13", + "stateVariable": false, + "storageLocation": "memory", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO" + }, + "typeName": { + "id": 2106, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2105, + "name": "DAO", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1855, + "src": "6219:3:13" + }, + "referencedDeclaration": 1855, + "src": "6219:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_storage_ptr", + "typeString": "struct Union.DAO" + } + }, + "visibility": "internal" + } + ], + "id": 2111, + "initialValue": { + "baseExpression": { + "id": 2108, + "name": "daos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "6236:4:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$1855_storage_$", + "typeString": "mapping(address => struct Union.DAO storage ref)" + } + }, + "id": 2110, + "indexExpression": { + "id": 2109, + "name": "daoAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2099, + "src": "6241:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "6236:16:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "6219:33:13" + }, + { + "expression": { + "arguments": [ + { + "commonType": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "id": 2116, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "expression": { + "id": 2113, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2107, + "src": "6270:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2114, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "valid", + "nodeType": "MemberAccess", + "referencedDeclaration": 1845, + "src": "6270:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "66616c7365", + "id": 2115, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "bool", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6283:5:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "value": "false" + }, + "src": "6270:18:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + { + "hexValue": "616c726561647920686173206265656e20617070726f766564204f52206469646e2774206170706c69656420617420616c6c", + "id": 2117, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "string", + "lValueRequested": false, + "nodeType": "Literal", + "src": "6290:52:13", + "typeDescriptions": { + "typeIdentifier": "t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "typeString": "literal_string \"already has been approved OR didn't applied at all\"" + }, + "value": "already has been approved OR didn't applied at all" + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + { + "typeIdentifier": "t_stringliteral_e60e145fff0e5c3eb48c8d68a79d36dab0f59ff6f04d2647290a997957c0f1d6", + "typeString": "literal_string \"already has been approved OR didn't applied at all\"" + } + ], + "id": 2112, + "name": "require", + "nodeType": "Identifier", + "overloadedDeclarations": [ + -18, + -18 + ], + "referencedDeclaration": -18, + "src": "6262:7:13", + "typeDescriptions": { + "typeIdentifier": "t_function_require_pure$_t_bool_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (bool,string memory) pure" + } + }, + "id": 2118, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6262:81:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2119, + "nodeType": "ExpressionStatement", + "src": "6262:81:13" + }, + { + "expression": { + "id": 2123, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6353:23:13", + "subExpression": { + "baseExpression": { + "id": 2120, + "name": "daos", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1903, + "src": "6360:4:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_address_$_t_struct$_DAO_$1855_storage_$", + "typeString": "mapping(address => struct Union.DAO storage ref)" + } + }, + "id": 2122, + "indexExpression": { + "id": 2121, + "name": "daoAddress", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2099, + "src": "6365:10:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6360:16:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_storage", + "typeString": "struct Union.DAO storage ref" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2124, + "nodeType": "ExpressionStatement", + "src": "6353:23:13" + }, + { + "expression": { + "id": 2129, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "nodeType": "UnaryOperation", + "operator": "delete", + "prefix": true, + "src": "6386:29:13", + "subExpression": { + "baseExpression": { + "id": 2125, + "name": "daoAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1892, + "src": "6393:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 2128, + "indexExpression": { + "expression": { + "id": 2126, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2107, + "src": "6406:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2127, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1843, + "src": "6406:8:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "IndexAccess", + "src": "6393:22:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2130, + "nodeType": "ExpressionStatement", + "src": "6386:29:13" + }, + { + "eventCall": { + "arguments": [ + { + "expression": { + "id": 2132, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2107, + "src": "6499:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2133, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "tgId", + "nodeType": "MemberAccess", + "referencedDeclaration": 1843, + "src": "6499:8:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + { + "expression": { + "id": 2134, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2107, + "src": "6508:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2135, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "multisigAddress", + "nodeType": "MemberAccess", + "referencedDeclaration": 1847, + "src": "6508:19:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2136, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2107, + "src": "6528:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2137, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingType", + "nodeType": "MemberAccess", + "referencedDeclaration": 1850, + "src": "6528:14:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + { + "expression": { + "id": 2138, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2107, + "src": "6543:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2139, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "votingToken", + "nodeType": "MemberAccess", + "referencedDeclaration": 1852, + "src": "6543:15:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + { + "expression": { + "id": 2140, + "name": "org", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2107, + "src": "6560:3:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_DAO_$1855_memory_ptr", + "typeString": "struct Union.DAO memory" + } + }, + "id": 2141, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "group_name", + "nodeType": "MemberAccess", + "referencedDeclaration": 1854, + "src": "6560:14:13", + "typeDescriptions": { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + { + "typeIdentifier": "t_address", + "typeString": "address" + }, + { + "typeIdentifier": "t_string_memory_ptr", + "typeString": "string memory" + } + ], + "id": 2131, + "name": "DeclinedApplication", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1835, + "src": "6479:19:13", + "typeDescriptions": { + "typeIdentifier": "t_function_event_nonpayable$_t_int256_$_t_address_$_t_enum$_VotingType_$1839_$_t_address_$_t_string_memory_ptr_$returns$__$", + "typeString": "function (int256,address,enum Union.VotingType,address,string memory)" + } + }, + "id": 2142, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6479:96:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_tuple$__$", + "typeString": "tuple()" + } + }, + "id": 2143, + "nodeType": "EmitStatement", + "src": "6474:101:13" + } + ] + }, + "documentation": { + "id": 2097, + "nodeType": "StructuredDocumentation", + "src": "6004:132:13", + "text": " @dev function for decline join (for erase unvalid data as example)\n @param daoAddress address of multisig" + }, + "functionSelector": "36b9f727", + "id": 2145, + "implemented": true, + "kind": "function", + "modifiers": [ + { + "arguments": [ + { + "id": 2102, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1779, + "src": "6198:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + } + ], + "id": 2103, + "kind": "modifierInvocation", + "modifierName": { + "id": 2101, + "name": "onlyRole", + "nodeType": "IdentifierPath", + "referencedDeclaration": 40, + "src": "6189:8:13" + }, + "nodeType": "ModifierInvocation", + "src": "6189:19:13" + } + ], + "name": "DeclineJoin", + "nameLocation": "6150:11:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2100, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2099, + "mutability": "mutable", + "name": "daoAddress", + "nameLocation": "6170:10:13", + "nodeType": "VariableDeclaration", + "scope": 2145, + "src": "6162:18:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2098, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6162:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6161:20:13" + }, + "returnParameters": { + "id": 2104, + "nodeType": "ParameterList", + "parameters": [], + "src": "6209:0:13" + }, + "scope": 2228, + "src": "6141:441:13", + "stateMutability": "nonpayable", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2191, + "nodeType": "Block", + "src": "6810:478:13", + "statements": [ + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + "id": 2159, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2156, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2149, + "src": "6822:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2157, + "name": "VotingType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "6837:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_VotingType_$1839_$", + "typeString": "type(enum Union.VotingType)" + } + }, + "id": 2158, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "erc721", + "nodeType": "MemberAccess", + "referencedDeclaration": 1838, + "src": "6837:17:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "src": "6822:32:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2173, + "nodeType": "IfStatement", + "src": "6818:194:13", + "trueBody": { + "id": 2172, + "nodeType": "Block", + "src": "6856:156:13", + "statements": [ + { + "expression": { + "id": 2168, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 2160, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2154, + "src": "6865:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2161, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "6864:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "arguments": [ + { + "id": 2166, + "name": "_INTERFACE_ID_IERC721ENUMERABLE", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1774, + "src": "6945:31:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_bytes4", + "typeString": "bytes4" + } + ], + "expression": { + "arguments": [ + { + "id": 2163, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2151, + "src": "6894:20:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2162, + "name": "IERC721Enumerable", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 736, + "src": "6876:17:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC721Enumerable_$736_$", + "typeString": "type(contract IERC721Enumerable)" + } + }, + "id": 2164, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6876:39:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC721Enumerable_$736", + "typeString": "contract IERC721Enumerable" + } + }, + "id": 2165, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "supportsInterface", + "nodeType": "MemberAccess", + "referencedDeclaration": 1070, + "src": "6876:68:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$_t_bytes4_$returns$_t_bool_$", + "typeString": "function (bytes4) view external returns (bool)" + } + }, + "id": 2167, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "6876:101:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "6864:113:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2169, + "nodeType": "ExpressionStatement", + "src": "6864:113:13" + }, + { + "expression": { + "id": 2170, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2154, + "src": "6996:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "functionReturnParameters": 2155, + "id": 2171, + "nodeType": "Return", + "src": "6989:14:13" + } + ] + } + }, + { + "condition": { + "commonType": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + "id": 2177, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "id": 2174, + "name": "votingType_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2149, + "src": "7023:11:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "expression": { + "id": 2175, + "name": "VotingType", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1839, + "src": "7038:10:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_enum$_VotingType_$1839_$", + "typeString": "type(enum Union.VotingType)" + } + }, + "id": 2176, + "isConstant": false, + "isLValue": false, + "isPure": true, + "lValueRequested": false, + "memberName": "erc20", + "nodeType": "MemberAccess", + "referencedDeclaration": 1836, + "src": "7038:16:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "src": "7023:31:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2190, + "nodeType": "IfStatement", + "src": "7019:224:13", + "trueBody": { + "id": 2189, + "nodeType": "Block", + "src": "7056:187:13", + "statements": [ + { + "expression": { + "id": 2187, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftHandSide": { + "components": [ + { + "id": 2178, + "name": "success", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2154, + "src": "7170:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + } + ], + "id": 2179, + "isConstant": false, + "isInlineArray": false, + "isLValue": true, + "isPure": false, + "lValueRequested": true, + "nodeType": "TupleExpression", + "src": "7169:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "nodeType": "Assignment", + "operator": "=", + "rightHandSide": { + "commonType": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + }, + "id": 2186, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "leftExpression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "arguments": [ + { + "id": 2181, + "name": "votingTokenContract_", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2151, + "src": "7196:20:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + } + ], + "expression": { + "argumentTypes": [ + { + "typeIdentifier": "t_address", + "typeString": "address" + } + ], + "id": 2180, + "name": "IERC20Metadata", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 589, + "src": "7181:14:13", + "typeDescriptions": { + "typeIdentifier": "t_type$_t_contract$_IERC20Metadata_$589_$", + "typeString": "type(contract IERC20Metadata)" + } + }, + "id": 2182, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "typeConversion", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7181:36:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_contract$_IERC20Metadata_$589", + "typeString": "contract IERC20Metadata" + } + }, + "id": 2183, + "isConstant": false, + "isLValue": false, + "isPure": false, + "lValueRequested": false, + "memberName": "decimals", + "nodeType": "MemberAccess", + "referencedDeclaration": 588, + "src": "7181:45:13", + "typeDescriptions": { + "typeIdentifier": "t_function_external_view$__$returns$_t_uint8_$", + "typeString": "function () view external returns (uint8)" + } + }, + "id": 2184, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7181:47:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint8", + "typeString": "uint8" + } + }, + "nodeType": "BinaryOperation", + "operator": "==", + "rightExpression": { + "hexValue": "3138", + "id": 2185, + "isConstant": false, + "isLValue": false, + "isPure": true, + "kind": "number", + "lValueRequested": false, + "nodeType": "Literal", + "src": "7232:2:13", + "typeDescriptions": { + "typeIdentifier": "t_rational_18_by_1", + "typeString": "int_const 18" + }, + "value": "18" + }, + "src": "7181:53:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "src": "7169:65:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "id": 2188, + "nodeType": "ExpressionStatement", + "src": "7169:65:13" + } + ] + } + } + ] + }, + "documentation": { + "id": 2146, + "nodeType": "StructuredDocumentation", + "src": "6589:89:13", + "text": " @dev internal function to check interface id of voting token contract" + }, + "id": 2192, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "_checkStandardVotingToken", + "nameLocation": "6693:25:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2152, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2149, + "mutability": "mutable", + "name": "votingType_", + "nameLocation": "6730:11:13", + "nodeType": "VariableDeclaration", + "scope": 2192, + "src": "6719:22:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + }, + "typeName": { + "id": 2148, + "nodeType": "UserDefinedTypeName", + "pathNode": { + "id": 2147, + "name": "VotingType", + "nodeType": "IdentifierPath", + "referencedDeclaration": 1839, + "src": "6719:10:13" + }, + "referencedDeclaration": 1839, + "src": "6719:10:13", + "typeDescriptions": { + "typeIdentifier": "t_enum$_VotingType_$1839", + "typeString": "enum Union.VotingType" + } + }, + "visibility": "internal" + }, + { + "constant": false, + "id": 2151, + "mutability": "mutable", + "name": "votingTokenContract_", + "nameLocation": "6751:20:13", + "nodeType": "VariableDeclaration", + "scope": 2192, + "src": "6743:28:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2150, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "6743:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "6718:54:13" + }, + "returnParameters": { + "id": 2155, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2154, + "mutability": "mutable", + "name": "success", + "nameLocation": "6801:7:13", + "nodeType": "VariableDeclaration", + "scope": 2192, + "src": "6796:12:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + }, + "typeName": { + "id": 2153, + "name": "bool", + "nodeType": "ElementaryTypeName", + "src": "6796:4:13", + "typeDescriptions": { + "typeIdentifier": "t_bool", + "typeString": "bool" + } + }, + "visibility": "internal" + } + ], + "src": "6795:14:13" + }, + "scope": 2228, + "src": "6683:605:13", + "stateMutability": "view", + "virtual": false, + "visibility": "internal" + }, + { + "body": { + "id": 2208, + "nodeType": "Block", + "src": "7429:72:13", + "statements": [ + { + "assignments": [ + 2201 + ], + "declarations": [ + { + "constant": false, + "id": 2201, + "mutability": "mutable", + "name": "dao", + "nameLocation": "7447:3:13", + "nodeType": "VariableDeclaration", + "scope": 2208, + "src": "7439:11:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2200, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7439:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "id": 2205, + "initialValue": { + "baseExpression": { + "id": 2202, + "name": "daoAddresses", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1892, + "src": "7453:12:13", + "typeDescriptions": { + "typeIdentifier": "t_mapping$_t_int64_$_t_address_$", + "typeString": "mapping(int64 => address)" + } + }, + "id": 2204, + "indexExpression": { + "id": 2203, + "name": "chat_id", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2195, + "src": "7466:7:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "nodeType": "IndexAccess", + "src": "7453:21:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "nodeType": "VariableDeclarationStatement", + "src": "7439:35:13" + }, + { + "expression": { + "id": 2206, + "name": "dao", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 2201, + "src": "7491:3:13", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "functionReturnParameters": 2199, + "id": 2207, + "nodeType": "Return", + "src": "7484:10:13" + } + ] + }, + "documentation": { + "id": 2193, + "nodeType": "StructuredDocumentation", + "src": "7293:57:13", + "text": " @dev get multisig address by tgid of chat" + }, + "functionSelector": "e57bede4", + "id": 2209, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getDaoAddressbyChatId", + "nameLocation": "7362:21:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2196, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2195, + "mutability": "mutable", + "name": "chat_id", + "nameLocation": "7390:7:13", + "nodeType": "VariableDeclaration", + "scope": 2209, + "src": "7384:13:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + }, + "typeName": { + "id": 2194, + "name": "int64", + "nodeType": "ElementaryTypeName", + "src": "7384:5:13", + "typeDescriptions": { + "typeIdentifier": "t_int64", + "typeString": "int64" + } + }, + "visibility": "internal" + } + ], + "src": "7383:15:13" + }, + "returnParameters": { + "id": 2199, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2198, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2209, + "src": "7420:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + }, + "typeName": { + "id": 2197, + "name": "address", + "nodeType": "ElementaryTypeName", + "src": "7420:7:13", + "stateMutability": "nonpayable", + "typeDescriptions": { + "typeIdentifier": "t_address", + "typeString": "address" + } + }, + "visibility": "internal" + } + ], + "src": "7419:9:13" + }, + "scope": 2228, + "src": "7353:148:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2218, + "nodeType": "Block", + "src": "7559:38:13", + "statements": [ + { + "expression": { + "arguments": [], + "expression": { + "argumentTypes": [], + "expression": { + "id": 2214, + "name": "dao_count", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1898, + "src": "7573:9:13", + "typeDescriptions": { + "typeIdentifier": "t_struct$_Counter_$764_storage", + "typeString": "struct Counters.Counter storage ref" + } + }, + "id": 2215, + "isConstant": false, + "isLValue": true, + "isPure": false, + "lValueRequested": false, + "memberName": "current", + "nodeType": "MemberAccess", + "referencedDeclaration": 776, + "src": "7573:17:13", + "typeDescriptions": { + "typeIdentifier": "t_function_internal_view$_t_struct$_Counter_$764_storage_ptr_$returns$_t_uint256_$bound_to$_t_struct$_Counter_$764_storage_ptr_$", + "typeString": "function (struct Counters.Counter storage pointer) view returns (uint256)" + } + }, + "id": 2216, + "isConstant": false, + "isLValue": false, + "isPure": false, + "kind": "functionCall", + "lValueRequested": false, + "names": [], + "nodeType": "FunctionCall", + "src": "7573:19:13", + "tryCall": false, + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "functionReturnParameters": 2213, + "id": 2217, + "nodeType": "Return", + "src": "7566:26:13" + } + ] + }, + "functionSelector": "d4d8f892", + "id": 2219, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getDaoCount", + "nameLocation": "7515:11:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2210, + "nodeType": "ParameterList", + "parameters": [], + "src": "7526:2:13" + }, + "returnParameters": { + "id": 2213, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2212, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2219, + "src": "7550:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + }, + "typeName": { + "id": 2211, + "name": "uint256", + "nodeType": "ElementaryTypeName", + "src": "7550:7:13", + "typeDescriptions": { + "typeIdentifier": "t_uint256", + "typeString": "uint256" + } + }, + "visibility": "internal" + } + ], + "src": "7549:9:13" + }, + "scope": 2228, + "src": "7506:91:13", + "stateMutability": "view", + "virtual": false, + "visibility": "public" + }, + { + "body": { + "id": 2226, + "nodeType": "Block", + "src": "7665:27:13", + "statements": [ + { + "expression": { + "id": 2224, + "name": "moderator", + "nodeType": "Identifier", + "overloadedDeclarations": [], + "referencedDeclaration": 1779, + "src": "7678:9:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "functionReturnParameters": 2223, + "id": 2225, + "nodeType": "Return", + "src": "7671:16:13" + } + ] + }, + "functionSelector": "5d1ce88f", + "id": 2227, + "implemented": true, + "kind": "function", + "modifiers": [], + "name": "getModeratorIdentifier", + "nameLocation": "7610:22:13", + "nodeType": "FunctionDefinition", + "parameters": { + "id": 2220, + "nodeType": "ParameterList", + "parameters": [], + "src": "7632:2:13" + }, + "returnParameters": { + "id": 2223, + "nodeType": "ParameterList", + "parameters": [ + { + "constant": false, + "id": 2222, + "mutability": "mutable", + "name": "", + "nameLocation": "-1:-1:-1", + "nodeType": "VariableDeclaration", + "scope": 2227, + "src": "7656:7:13", + "stateVariable": false, + "storageLocation": "default", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + }, + "typeName": { + "id": 2221, + "name": "bytes32", + "nodeType": "ElementaryTypeName", + "src": "7656:7:13", + "typeDescriptions": { + "typeIdentifier": "t_bytes32", + "typeString": "bytes32" + } + }, + "visibility": "internal" + } + ], + "src": "7655:9:13" + }, + "scope": 2228, + "src": "7601:91:13", + "stateMutability": "pure", + "virtual": false, + "visibility": "public" + } + ], + "scope": 2229, + "src": "1177:6518:13", + "usedErrors": [] + } + ], + "src": "176:7519:13" + }, + "id": 13 + } + } + } +} diff --git a/artifacts/contracts/Union.sol/Union.dbg.json b/artifacts/contracts/Union.sol/Union.dbg.json index a3c24a8..c78a6e6 100644 --- a/artifacts/contracts/Union.sol/Union.dbg.json +++ b/artifacts/contracts/Union.sol/Union.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../build-info/751241ed289addc88a036405398bd6d5.json" + "buildInfo": "../../build-info/f42d57aac6ed3196556d7cfa4097447d.json" } diff --git a/artifacts/contracts/Union.sol/Union.json b/artifacts/contracts/Union.sol/Union.json index 0fbc79a..dfcb6a2 100644 --- a/artifacts/contracts/Union.sol/Union.json +++ b/artifacts/contracts/Union.sol/Union.json @@ -193,6 +193,81 @@ "name": "OwnershipTransferred", "type": "event" }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "previousAdminRole", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "bytes32", + "name": "newAdminRole", + "type": "bytes32" + } + ], + "name": "RoleAdminChanged", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleGranted", + "type": "event" + }, + { + "anonymous": false, + "inputs": [ + { + "indexed": true, + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "indexed": true, + "internalType": "address", + "name": "account", + "type": "address" + }, + { + "indexed": true, + "internalType": "address", + "name": "sender", + "type": "address" + } + ], + "name": "RoleRevoked", + "type": "event" + }, { "inputs": [ { @@ -263,6 +338,19 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "DEFAULT_ADMIN_ROLE", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [ { @@ -376,6 +464,93 @@ "stateMutability": "view", "type": "function" }, + { + "inputs": [], + "name": "getModeratorIdentifier", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "pure", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + } + ], + "name": "getRoleAdmin", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "grantRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "hasRole", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, + { + "inputs": [], + "name": "moderator", + "outputs": [ + { + "internalType": "bytes32", + "name": "", + "type": "bytes32" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "owner", @@ -396,6 +571,61 @@ "stateMutability": "nonpayable", "type": "function" }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "renounceRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes32", + "name": "role", + "type": "bytes32" + }, + { + "internalType": "address", + "name": "account", + "type": "address" + } + ], + "name": "revokeRole", + "outputs": [], + "stateMutability": "nonpayable", + "type": "function" + }, + { + "inputs": [ + { + "internalType": "bytes4", + "name": "interfaceId", + "type": "bytes4" + } + ], + "name": "supportsInterface", + "outputs": [ + { + "internalType": "bool", + "name": "", + "type": "bool" + } + ], + "stateMutability": "view", + "type": "function" + }, { "inputs": [], "name": "tgpassport", @@ -423,8 +653,8 @@ "type": "function" } ], - "bytecode": "0x6080604052620000146200013060201b60201c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006157600080fd5b5060405162002ced38038062002ced83398181016040528101906200008791906200023c565b620000a76200009b6200015960201b60201c565b6200016160201b60201c565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620002b6565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008151905062000236816200029c565b92915050565b6000602082840312156200024f57600080fd5b60006200025f8482850162000225565b91505092915050565b600062000275826200027c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620002a78162000268565b8114620002b357600080fd5b50565b612a2780620002c66000396000f3fe6080604052600436106100a75760003560e01c8063c25f3cf611610064578063c25f3cf614610187578063d4d8f892146101ca578063d698b364146101f5578063d6b2da8e14610232578063e57bede41461026f578063f2fde38b146102ac576100a7565b806336b9f727146100ac578063715018a6146100d55780637527d5a1146100ec5780638da5cb5b14610117578063ad8f866014610142578063b9f7076f1461016b575b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce9190611e1a565b6102d5565b005b3480156100e157600080fd5b506100ea6107de565b005b3480156100f857600080fd5b50610101610866565b60405161010e9190612287565b60405180910390f35b34801561012357600080fd5b5061012c61088c565b60405161013991906121db565b60405180910390f35b34801561014e57600080fd5b5061016960048036038101906101649190611e1a565b6108b5565b005b61018560048036038101906101809190611ebe565b610ec9565b005b34801561019357600080fd5b506101ae60048036038101906101a99190611e1a565b611613565b6040516101c197969594939291906121f6565b60405180910390f35b3480156101d657600080fd5b506101df611764565b6040516101ec91906124d9565b60405180910390f35b34801561020157600080fd5b5061021c60048036038101906102179190611f5f565b611775565b60405161022991906122a2565b60405180910390f35b34801561023e57600080fd5b5061025960048036038101906102549190611e95565b6117ac565b60405161026691906121db565b60405180910390f35b34801561027b57600080fd5b5061029660048036038101906102919190611e95565b6117df565b6040516102a391906121db565b60405180910390f35b3480156102b857600080fd5b506102d360048036038101906102ce9190611e1a565b611827565b005b6102dd61191f565b73ffffffffffffffffffffffffffffffffffffffff166102fb61088c565b73ffffffffffffffffffffffffffffffffffffffff1614610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890612499565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660028111156104cc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610504577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160038201805461056e9061269c565b80601f016020809104026020016040519081016040528092919081815260200182805461059a9061269c565b80156105e75780601f106105bc576101008083540402835291602001916105e7565b820191906000526020600020905b8154815290600101906020018083116105ca57829003601f168201915b505050505081525050905060001515816040015115151461063d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610634906124b9565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160146101000a81549060ff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006107459190611c27565b505060036000826020015160070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fd06e11c55c5f21676305517c655a0188744d3bee09361e15470276872d56a0b98160200151826060015183608001518460a001518560c001516040516107d29594939291906122bd565b60405180910390a15050565b6107e661191f565b73ffffffffffffffffffffffffffffffffffffffff1661080461088c565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085190612499565b60405180910390fd5b6108646000611927565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108bd61191f565b73ffffffffffffffffffffffffffffffffffffffff166108db61088c565b73ffffffffffffffffffffffffffffffffffffffff1614610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890612499565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610aac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610ae4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610b4e9061269c565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7a9061269c565b8015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b820191906000526020600020905b815481529060010190602001808311610baa57829003601f168201915b5050505050815250509050600015158160400151151514610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c14906124b9565b60405180910390fd5b600181604001901515908115158152505080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115610d9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c0820151816003019080519060200190610e07929190611c67565b50905050610e1560056119eb565b6004816020015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055507f19c3744c2d10eda4d05b727f02a712a414539c26678f5f988d98f9635afcac288160200151826060015183608001518460a001518560c00151604051610ebd9594939291906122bd565b60405180910390a15050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c2fc6e3886040518263ffffffff1660e01b8152600401610f2691906122a2565b60206040518083038186803b158015610f3e57600080fd5b505afa158015610f52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f769190611e43565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdd906123d9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360008860070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108590612459565b60405180910390fd5b84600360008860070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006110f28585611a01565b9050600115158115151461113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113290612479565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166348dc15616040518163ffffffff1660e01b815260040160206040518083038186803b1580156111a357600080fd5b505afa1580156111b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111db9190611f88565b6001819055506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018860070b81526020016000151581526020018773ffffffffffffffffffffffffffffffffffffffff16815260200186600281111561126f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115611404577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c082015181600301908051906020019061146c929190611c67565b509050506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001546040516114ba906121c6565b60006040518083038185875af1925050503d80600081146114f7576040519150601f19603f3d011682016040523d82523d6000602084013e6114fc565b606091505b5050905080611540576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153790612419565b60405180910390fd5b6001543414611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b90612439565b60405180910390fd5b7f0ae33dac4eb1cdcaf489d2a9a56c45d17257612cad7c531513d4e425951349e2888a898989896040516115bd96959493929190612371565b60405180910390a18760070b7fefcac77603ca996faafa29a1d72a90249e186f4a4af6ad89434b18a66b6e9cd98a89898989604051611600959493929190612317565b60405180910390a2505050505050505050565b60066020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030180546116e19061269c565b80601f016020809104026020016040519081016040528092919081815260200182805461170d9061269c565b801561175a5780601f1061172f5761010080835404028352916020019161175a565b820191906000526020600020905b81548152906001019060200180831161173d57829003601f168201915b5050505050905087565b60006117706005611c19565b905090565b6004818154811061178557600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600360008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080915050919050565b61182f61191f565b73ffffffffffffffffffffffffffffffffffffffff1661184d61088c565b73ffffffffffffffffffffffffffffffffffffffff16146118a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189a90612499565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190a906123f9565b60405180910390fd5b61191c81611927565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b6000600280811115611a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b836002811115611a75577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415611b12578173ffffffffffffffffffffffffffffffffffffffff166301ffc9a763780e9d6360e01b6040518263ffffffff1660e01b8152600401611abb919061226c565b60206040518083038186803b158015611ad357600080fd5b505afa158015611ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0b9190611e6c565b9050611c13565b60006002811115611b4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b836002811115611b85577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415611c125760128273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611bd357600080fd5b505afa158015611be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0b9190611fb1565b60ff161490505b5b92915050565b600081600001549050919050565b508054611c339061269c565b6000825580601f10611c455750611c64565b601f016020900490600052602060002090810190611c639190611ced565b5b50565b828054611c739061269c565b90600052602060002090601f016020900481019282611c955760008555611cdc565b82601f10611cae57805160ff1916838001178555611cdc565b82800160010185558215611cdc579182015b82811115611cdb578251825591602001919060010190611cc0565b5b509050611ce99190611ced565b5090565b5b80821115611d06576000816000905550600101611cee565b5090565b6000611d1d611d1884612519565b6124f4565b905082815260208101848484011115611d3557600080fd5b611d4084828561265a565b509392505050565b600081359050611d578161296e565b92915050565b600081519050611d6c8161296e565b92915050565b600081519050611d8181612985565b92915050565b600081359050611d968161299c565b92915050565b600081359050611dab816129ac565b92915050565b600082601f830112611dc257600080fd5b8135611dd2848260208601611d0a565b91505092915050565b600081359050611dea816129c3565b92915050565b600081519050611dff816129c3565b92915050565b600081519050611e14816129da565b92915050565b600060208284031215611e2c57600080fd5b6000611e3a84828501611d48565b91505092915050565b600060208284031215611e5557600080fd5b6000611e6384828501611d5d565b91505092915050565b600060208284031215611e7e57600080fd5b6000611e8c84828501611d72565b91505092915050565b600060208284031215611ea757600080fd5b6000611eb584828501611d9c565b91505092915050565b60008060008060008060c08789031215611ed757600080fd5b6000611ee589828a01611d9c565b9650506020611ef689828a01611d9c565b9550506040611f0789828a01611d48565b9450506060611f1889828a01611d87565b9350506080611f2989828a01611d48565b92505060a087013567ffffffffffffffff811115611f4657600080fd5b611f5289828a01611db1565b9150509295509295509295565b600060208284031215611f7157600080fd5b6000611f7f84828501611ddb565b91505092915050565b600060208284031215611f9a57600080fd5b6000611fa884828501611df0565b91505092915050565b600060208284031215611fc357600080fd5b6000611fd184828501611e05565b91505092915050565b611fe381612571565b82525050565b611ff281612583565b82525050565b6120018161258f565b82525050565b61201081612612565b82525050565b61201f81612636565b82525050565b61202e81612648565b82525050565b61203d816125ce565b82525050565b600061204e8261254a565b6120588185612560565b9350612068818560208601612669565b6120718161278c565b840191505092915050565b6000612089601d83612560565b91506120948261279d565b602082019050919050565b60006120ac602683612560565b91506120b7826127c6565b604082019050919050565b60006120cf601683612560565b91506120da82612815565b602082019050919050565b60006120f2601883612560565b91506120fd8261283e565b602082019050919050565b6000612115601c83612560565b915061212082612867565b602082019050919050565b6000612138602f83612560565b915061214382612890565b604082019050919050565b600061215b602083612560565b9150612166826128df565b602082019050919050565b600061217e600083612555565b915061218982612908565b600082019050919050565b60006121a1603283612560565b91506121ac8261290b565b604082019050919050565b6121c0816125fb565b82525050565b60006121d182612171565b9150819050919050565b60006020820190506121f06000830184611fda565b92915050565b600060e08201905061220b600083018a611fda565b6122186020830189612034565b6122256040830188611fe9565b6122326060830187611fda565b61223f6080830186612016565b61224c60a0830185611fda565b81810360c083015261225e8184612043565b905098975050505050505050565b60006020820190506122816000830184611ff8565b92915050565b600060208201905061229c6000830184612007565b92915050565b60006020820190506122b76000830184612034565b92915050565b600060a0820190506122d26000830188612025565b6122df6020830187611fda565b6122ec6040830186612016565b6122f96060830185611fda565b818103608083015261230b8184612043565b90509695505050505050565b600060a08201905061232c6000830188612034565b6123396020830187611fda565b6123466040830186612016565b6123536060830185611fda565b81810360808301526123658184612043565b90509695505050505050565b600060c0820190506123866000830189612034565b6123936020830188612034565b6123a06040830187611fda565b6123ad6060830186612016565b6123ba6080830185611fda565b81810360a08301526123cc8184612043565b9050979650505050505050565b600060208201905081810360008301526123f28161207c565b9050919050565b600060208201905081810360008301526124128161209f565b9050919050565b60006020820190508181036000830152612432816120c2565b9050919050565b60006020820190508181036000830152612452816120e5565b9050919050565b6000602082019050818103600083015261247281612108565b9050919050565b600060208201905081810360008301526124928161212b565b9050919050565b600060208201905081810360008301526124b28161214e565b9050919050565b600060208201905081810360008301526124d281612194565b9050919050565b60006020820190506124ee60008301846121b7565b92915050565b60006124fe61250f565b905061250a82826126ce565b919050565b6000604051905090565b600067ffffffffffffffff8211156125345761253361275d565b5b61253d8261278c565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061257c826125db565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60008190506125c98261295a565b919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061261d82612624565b9050919050565b600061262f826125db565b9050919050565b6000612641826125bb565b9050919050565b6000612653826125ce565b9050919050565b82818337600083830152505050565b60005b8381101561268757808201518184015260208101905061266c565b83811115612696576000848401525b50505050565b600060028204905060018216806126b457607f821691505b602082108114156126c8576126c761272e565b5b50919050565b6126d78261278c565b810181811067ffffffffffffffff821117156126f6576126f561275d565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5573657220646964206e6f742072656769737472656420696e20544750000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f746869732063686174207467696420616c72656164792074616b656e00000000600082015250565b7f436f6e747261637420646f6573206e6f74206d61746368207769746820636f7260008201527f726573706f6e64696e6720747970650000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f616c726561647920686173206265656e20617070726f766564204f522064696460008201527f6e2774206170706c69656420617420616c6c0000000000000000000000000000602082015250565b6003811061296b5761296a6126ff565b5b50565b61297781612571565b811461298257600080fd5b50565b61298e81612583565b811461299957600080fd5b50565b600381106129a957600080fd5b50565b6129b5816125ce565b81146129c057600080fd5b50565b6129cc816125fb565b81146129d757600080fd5b50565b6129e381612605565b81146129ee57600080fd5b5056fea2646970667358221220b1ea8e21377174ac10ff49983a5d01fb3f481d8790f05f5e8d2bd877ab51498d64736f6c63430008040033", - "deployedBytecode": "0x6080604052600436106100a75760003560e01c8063c25f3cf611610064578063c25f3cf614610187578063d4d8f892146101ca578063d698b364146101f5578063d6b2da8e14610232578063e57bede41461026f578063f2fde38b146102ac576100a7565b806336b9f727146100ac578063715018a6146100d55780637527d5a1146100ec5780638da5cb5b14610117578063ad8f866014610142578063b9f7076f1461016b575b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce9190611e1a565b6102d5565b005b3480156100e157600080fd5b506100ea6107de565b005b3480156100f857600080fd5b50610101610866565b60405161010e9190612287565b60405180910390f35b34801561012357600080fd5b5061012c61088c565b60405161013991906121db565b60405180910390f35b34801561014e57600080fd5b5061016960048036038101906101649190611e1a565b6108b5565b005b61018560048036038101906101809190611ebe565b610ec9565b005b34801561019357600080fd5b506101ae60048036038101906101a99190611e1a565b611613565b6040516101c197969594939291906121f6565b60405180910390f35b3480156101d657600080fd5b506101df611764565b6040516101ec91906124d9565b60405180910390f35b34801561020157600080fd5b5061021c60048036038101906102179190611f5f565b611775565b60405161022991906122a2565b60405180910390f35b34801561023e57600080fd5b5061025960048036038101906102549190611e95565b6117ac565b60405161026691906121db565b60405180910390f35b34801561027b57600080fd5b5061029660048036038101906102919190611e95565b6117df565b6040516102a391906121db565b60405180910390f35b3480156102b857600080fd5b506102d360048036038101906102ce9190611e1a565b611827565b005b6102dd61191f565b73ffffffffffffffffffffffffffffffffffffffff166102fb61088c565b73ffffffffffffffffffffffffffffffffffffffff1614610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890612499565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660028111156104cc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610504577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160038201805461056e9061269c565b80601f016020809104026020016040519081016040528092919081815260200182805461059a9061269c565b80156105e75780601f106105bc576101008083540402835291602001916105e7565b820191906000526020600020905b8154815290600101906020018083116105ca57829003601f168201915b505050505081525050905060001515816040015115151461063d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610634906124b9565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160146101000a81549060ff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006107459190611c27565b505060036000826020015160070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fd06e11c55c5f21676305517c655a0188744d3bee09361e15470276872d56a0b98160200151826060015183608001518460a001518560c001516040516107d29594939291906122bd565b60405180910390a15050565b6107e661191f565b73ffffffffffffffffffffffffffffffffffffffff1661080461088c565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085190612499565b60405180910390fd5b6108646000611927565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108bd61191f565b73ffffffffffffffffffffffffffffffffffffffff166108db61088c565b73ffffffffffffffffffffffffffffffffffffffff1614610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890612499565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610aac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610ae4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610b4e9061269c565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7a9061269c565b8015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b820191906000526020600020905b815481529060010190602001808311610baa57829003601f168201915b5050505050815250509050600015158160400151151514610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c14906124b9565b60405180910390fd5b600181604001901515908115158152505080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115610d9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c0820151816003019080519060200190610e07929190611c67565b50905050610e1560056119eb565b6004816020015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055507f19c3744c2d10eda4d05b727f02a712a414539c26678f5f988d98f9635afcac288160200151826060015183608001518460a001518560c00151604051610ebd9594939291906122bd565b60405180910390a15050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c2fc6e3886040518263ffffffff1660e01b8152600401610f2691906122a2565b60206040518083038186803b158015610f3e57600080fd5b505afa158015610f52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f769190611e43565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdd906123d9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360008860070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108590612459565b60405180910390fd5b84600360008860070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006110f28585611a01565b9050600115158115151461113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113290612479565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166348dc15616040518163ffffffff1660e01b815260040160206040518083038186803b1580156111a357600080fd5b505afa1580156111b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111db9190611f88565b6001819055506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018860070b81526020016000151581526020018773ffffffffffffffffffffffffffffffffffffffff16815260200186600281111561126f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115611404577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c082015181600301908051906020019061146c929190611c67565b509050506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001546040516114ba906121c6565b60006040518083038185875af1925050503d80600081146114f7576040519150601f19603f3d011682016040523d82523d6000602084013e6114fc565b606091505b5050905080611540576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153790612419565b60405180910390fd5b6001543414611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b90612439565b60405180910390fd5b7f0ae33dac4eb1cdcaf489d2a9a56c45d17257612cad7c531513d4e425951349e2888a898989896040516115bd96959493929190612371565b60405180910390a18760070b7fefcac77603ca996faafa29a1d72a90249e186f4a4af6ad89434b18a66b6e9cd98a89898989604051611600959493929190612317565b60405180910390a2505050505050505050565b60066020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030180546116e19061269c565b80601f016020809104026020016040519081016040528092919081815260200182805461170d9061269c565b801561175a5780601f1061172f5761010080835404028352916020019161175a565b820191906000526020600020905b81548152906001019060200180831161173d57829003601f168201915b5050505050905087565b60006117706005611c19565b905090565b6004818154811061178557600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600360008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080915050919050565b61182f61191f565b73ffffffffffffffffffffffffffffffffffffffff1661184d61088c565b73ffffffffffffffffffffffffffffffffffffffff16146118a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189a90612499565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190a906123f9565b60405180910390fd5b61191c81611927565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b6000600280811115611a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b836002811115611a75577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415611b12578173ffffffffffffffffffffffffffffffffffffffff166301ffc9a763780e9d6360e01b6040518263ffffffff1660e01b8152600401611abb919061226c565b60206040518083038186803b158015611ad357600080fd5b505afa158015611ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0b9190611e6c565b9050611c13565b60006002811115611b4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b836002811115611b85577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415611c125760128273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611bd357600080fd5b505afa158015611be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0b9190611fb1565b60ff161490505b5b92915050565b600081600001549050919050565b508054611c339061269c565b6000825580601f10611c455750611c64565b601f016020900490600052602060002090810190611c639190611ced565b5b50565b828054611c739061269c565b90600052602060002090601f016020900481019282611c955760008555611cdc565b82601f10611cae57805160ff1916838001178555611cdc565b82800160010185558215611cdc579182015b82811115611cdb578251825591602001919060010190611cc0565b5b509050611ce99190611ced565b5090565b5b80821115611d06576000816000905550600101611cee565b5090565b6000611d1d611d1884612519565b6124f4565b905082815260208101848484011115611d3557600080fd5b611d4084828561265a565b509392505050565b600081359050611d578161296e565b92915050565b600081519050611d6c8161296e565b92915050565b600081519050611d8181612985565b92915050565b600081359050611d968161299c565b92915050565b600081359050611dab816129ac565b92915050565b600082601f830112611dc257600080fd5b8135611dd2848260208601611d0a565b91505092915050565b600081359050611dea816129c3565b92915050565b600081519050611dff816129c3565b92915050565b600081519050611e14816129da565b92915050565b600060208284031215611e2c57600080fd5b6000611e3a84828501611d48565b91505092915050565b600060208284031215611e5557600080fd5b6000611e6384828501611d5d565b91505092915050565b600060208284031215611e7e57600080fd5b6000611e8c84828501611d72565b91505092915050565b600060208284031215611ea757600080fd5b6000611eb584828501611d9c565b91505092915050565b60008060008060008060c08789031215611ed757600080fd5b6000611ee589828a01611d9c565b9650506020611ef689828a01611d9c565b9550506040611f0789828a01611d48565b9450506060611f1889828a01611d87565b9350506080611f2989828a01611d48565b92505060a087013567ffffffffffffffff811115611f4657600080fd5b611f5289828a01611db1565b9150509295509295509295565b600060208284031215611f7157600080fd5b6000611f7f84828501611ddb565b91505092915050565b600060208284031215611f9a57600080fd5b6000611fa884828501611df0565b91505092915050565b600060208284031215611fc357600080fd5b6000611fd184828501611e05565b91505092915050565b611fe381612571565b82525050565b611ff281612583565b82525050565b6120018161258f565b82525050565b61201081612612565b82525050565b61201f81612636565b82525050565b61202e81612648565b82525050565b61203d816125ce565b82525050565b600061204e8261254a565b6120588185612560565b9350612068818560208601612669565b6120718161278c565b840191505092915050565b6000612089601d83612560565b91506120948261279d565b602082019050919050565b60006120ac602683612560565b91506120b7826127c6565b604082019050919050565b60006120cf601683612560565b91506120da82612815565b602082019050919050565b60006120f2601883612560565b91506120fd8261283e565b602082019050919050565b6000612115601c83612560565b915061212082612867565b602082019050919050565b6000612138602f83612560565b915061214382612890565b604082019050919050565b600061215b602083612560565b9150612166826128df565b602082019050919050565b600061217e600083612555565b915061218982612908565b600082019050919050565b60006121a1603283612560565b91506121ac8261290b565b604082019050919050565b6121c0816125fb565b82525050565b60006121d182612171565b9150819050919050565b60006020820190506121f06000830184611fda565b92915050565b600060e08201905061220b600083018a611fda565b6122186020830189612034565b6122256040830188611fe9565b6122326060830187611fda565b61223f6080830186612016565b61224c60a0830185611fda565b81810360c083015261225e8184612043565b905098975050505050505050565b60006020820190506122816000830184611ff8565b92915050565b600060208201905061229c6000830184612007565b92915050565b60006020820190506122b76000830184612034565b92915050565b600060a0820190506122d26000830188612025565b6122df6020830187611fda565b6122ec6040830186612016565b6122f96060830185611fda565b818103608083015261230b8184612043565b90509695505050505050565b600060a08201905061232c6000830188612034565b6123396020830187611fda565b6123466040830186612016565b6123536060830185611fda565b81810360808301526123658184612043565b90509695505050505050565b600060c0820190506123866000830189612034565b6123936020830188612034565b6123a06040830187611fda565b6123ad6060830186612016565b6123ba6080830185611fda565b81810360a08301526123cc8184612043565b9050979650505050505050565b600060208201905081810360008301526123f28161207c565b9050919050565b600060208201905081810360008301526124128161209f565b9050919050565b60006020820190508181036000830152612432816120c2565b9050919050565b60006020820190508181036000830152612452816120e5565b9050919050565b6000602082019050818103600083015261247281612108565b9050919050565b600060208201905081810360008301526124928161212b565b9050919050565b600060208201905081810360008301526124b28161214e565b9050919050565b600060208201905081810360008301526124d281612194565b9050919050565b60006020820190506124ee60008301846121b7565b92915050565b60006124fe61250f565b905061250a82826126ce565b919050565b6000604051905090565b600067ffffffffffffffff8211156125345761253361275d565b5b61253d8261278c565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061257c826125db565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60008190506125c98261295a565b919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061261d82612624565b9050919050565b600061262f826125db565b9050919050565b6000612641826125bb565b9050919050565b6000612653826125ce565b9050919050565b82818337600083830152505050565b60005b8381101561268757808201518184015260208101905061266c565b83811115612696576000848401525b50505050565b600060028204905060018216806126b457607f821691505b602082108114156126c8576126c761272e565b5b50919050565b6126d78261278c565b810181811067ffffffffffffffff821117156126f6576126f561275d565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5573657220646964206e6f742072656769737472656420696e20544750000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f746869732063686174207467696420616c72656164792074616b656e00000000600082015250565b7f436f6e747261637420646f6573206e6f74206d61746368207769746820636f7260008201527f726573706f6e64696e6720747970650000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f616c726561647920686173206265656e20617070726f766564204f522064696460008201527f6e2774206170706c69656420617420616c6c0000000000000000000000000000602082015250565b6003811061296b5761296a6126ff565b5b50565b61297781612571565b811461298257600080fd5b50565b61298e81612583565b811461299957600080fd5b50565b600381106129a957600080fd5b50565b6129b5816125ce565b81146129c057600080fd5b50565b6129cc816125fb565b81146129d757600080fd5b50565b6129e381612605565b81146129ee57600080fd5b5056fea2646970667358221220b1ea8e21377174ac10ff49983a5d01fb3f481d8790f05f5e8d2bd877ab51498d64736f6c63430008040033", + "bytecode": "0x6080604052620000146200022060201b60201c565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073383a9e83e36796106eac11e8c2fbe8b92ff46d3a600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000b657600080fd5b5060405162003d3938038062003d398339818101604052810190620000dc919062000488565b620000fc620000f06200024960201b60201c565b6200025160201b60201c565b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001936000801b336200031560201b60201c565b620001c57fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157336200031560201b60201c565b620002197fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200031560201b60201c565b5062000502565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200032782826200040660201b60201c565b6200040257600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003a76200024960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000815190506200048281620004e8565b92915050565b6000602082840312156200049b57600080fd5b6000620004ab8482850162000471565b91505092915050565b6000620004c182620004c8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620004f381620004b4565b8114620004ff57600080fd5b50565b61382780620005126000396000f3fe60806040526004361061012a5760003560e01c806391d14854116100ab578063d4d8f8921161006f578063d4d8f892146103d7578063d547741f14610402578063d698b3641461042b578063d6b2da8e14610468578063e57bede4146104a5578063f2fde38b146104e25761012a565b806391d14854146102e7578063a217fddf14610324578063ad8f86601461034f578063b9f7076f14610378578063c25f3cf6146103945761012a565b806338743904116100f257806338743904146102245780635d1ce88f1461024f578063715018a61461027a5780637527d5a1146102915780638da5cb5b146102bc5761012a565b806301ffc9a71461012f578063248a9ca31461016c5780632f2ff15d146101a957806336568abe146101d257806336b9f727146101fb575b600080fd5b34801561013b57600080fd5b50610156600480360381019061015191906128b8565b61050b565b6040516101639190612dbe565b60405180910390f35b34801561017857600080fd5b50610193600480360381019061018e9190612853565b610585565b6040516101a09190612dd9565b60405180910390f35b3480156101b557600080fd5b506101d060048036038101906101cb919061287c565b6105a5565b005b3480156101de57600080fd5b506101f960048036038101906101f4919061287c565b6105ce565b005b34801561020757600080fd5b50610222600480360381019061021d91906127d8565b610651565b005b34801561023057600080fd5b50610239610b11565b6040516102469190612dd9565b60405180910390f35b34801561025b57600080fd5b50610264610b35565b6040516102719190612dd9565b60405180910390f35b34801561028657600080fd5b5061028f610b5d565b005b34801561029d57600080fd5b506102a6610be5565b6040516102b39190612e0f565b60405180910390f35b3480156102c857600080fd5b506102d1610c0b565b6040516102de9190612d2d565b60405180910390f35b3480156102f357600080fd5b5061030e6004803603810190610309919061287c565b610c34565b60405161031b9190612dbe565b60405180910390f35b34801561033057600080fd5b50610339610c9f565b6040516103469190612dd9565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906127d8565b610ca6565b005b610392600480360381019061038d919061290a565b611271565b005b3480156103a057600080fd5b506103bb60048036038101906103b691906127d8565b6119bb565b6040516103ce9796959493929190612d48565b60405180910390f35b3480156103e357600080fd5b506103ec611b0c565b6040516103f991906130c3565b60405180910390f35b34801561040e57600080fd5b506104296004803603810190610424919061287c565b611b1d565b005b34801561043757600080fd5b50610452600480360381019061044d91906129ab565b611b46565b60405161045f9190612e2a565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a91906128e1565b611b7d565b60405161049c9190612d2d565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c791906128e1565b611bb0565b6040516104d99190612d2d565b60405180910390f35b3480156104ee57600080fd5b50610509600480360381019061050491906127d8565b611bf8565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82611cf0565b5b9050919050565b600060016000838152602001908152602001600020600101549050919050565b6105ae82610585565b6105bf816105ba611d5a565b611d62565b6105c98383611dff565b505050565b6105d6611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063a906130a3565b60405180910390fd5b61064d8282611edf565b5050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e1576106838161067e611d5a565b611d62565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660028111156107fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610836577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820180546108a090613375565b80601f01602080910402602001604051908101604052809291908181526020018280546108cc90613375565b80156109195780601f106108ee57610100808354040283529160200191610919565b820191906000526020600020905b8154815290600101906020018083116108fc57829003601f168201915b505050505081525050905060001515816040015115151461096f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096690613083565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160146101000a81549060ff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610a7791906125bb565b505060056000826020015160070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fd06e11c55c5f21676305517c655a0188744d3bee09361e15470276872d56a0b98160200151826060015183608001518460a001518560c00151604051610b04959493929190612e45565b60405180910390a1505050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e15781565b60007fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157905090565b610b65611d5a565b73ffffffffffffffffffffffffffffffffffffffff16610b83610c0b565b73ffffffffffffffffffffffffffffffffffffffff1614610bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd090613063565b60405180910390fd5b610be36000611fc1565b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157610cd881610cd3611d5a565b611d62565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610e53577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610e8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610ef590613375565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2190613375565b8015610f6e5780601f10610f4357610100808354040283529160200191610f6e565b820191906000526020600020905b815481529060010190602001808311610f5157829003601f168201915b5050505050815250509050600015158160400151151514610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb90613083565b60405180910390fd5b600181604001901515908115158152505080600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115611146577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906111ae9291906125fb565b509050506111bc6007612085565b6006816020015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055507f19c3744c2d10eda4d05b727f02a712a414539c26678f5f988d98f9635afcac288160200151826060015183608001518460a001518560c00151604051611264959493929190612e45565b60405180910390a1505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c2fc6e3886040518263ffffffff1660e01b81526004016112ce9190612e2a565b60206040518083038186803b1580156112e657600080fd5b505afa1580156112fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131e9190612801565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612fa3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560008860070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142d90613023565b60405180910390fd5b84600560008860070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600061149a858561209b565b905060011515811515146114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613043565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166348dc15616040518163ffffffff1660e01b815260040160206040518083038186803b15801561154b57600080fd5b505afa15801561155f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158391906129d4565b6002819055506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018860070b81526020016000151581526020018773ffffffffffffffffffffffffffffffffffffffff168152602001866002811115611617577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff021916908360028111156117ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906118149291906125fb565b509050506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660025460405161186290612cde565b60006040518083038185875af1925050503d806000811461189f576040519150601f19603f3d011682016040523d82523d6000602084013e6118a4565b606091505b50509050806118e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118df90612fe3565b60405180910390fd5b600254341461192c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192390613003565b60405180910390fd5b7f0ae33dac4eb1cdcaf489d2a9a56c45d17257612cad7c531513d4e425951349e2888a8989898960405161196596959493929190612ef9565b60405180910390a18760070b7fefcac77603ca996faafa29a1d72a90249e186f4a4af6ad89434b18a66b6e9cd98a898989896040516119a8959493929190612e9f565b60405180910390a2505050505050505050565b60086020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003018054611a8990613375565b80601f0160208091040260200160405190810160405280929190818152602001828054611ab590613375565b8015611b025780601f10611ad757610100808354040283529160200191611b02565b820191906000526020600020905b815481529060010190602001808311611ae557829003601f168201915b5050505050905087565b6000611b1860076122b3565b905090565b611b2682610585565b611b3781611b32611d5a565b611d62565b611b418383611edf565b505050565b60068181548110611b5657600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600560008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080915050919050565b611c00611d5a565b73ffffffffffffffffffffffffffffffffffffffff16611c1e610c0b565b73ffffffffffffffffffffffffffffffffffffffff1614611c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6b90613063565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdb90612fc3565b60405180910390fd5b611ced81611fc1565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b611d6c8282610c34565b611dfb57611d918173ffffffffffffffffffffffffffffffffffffffff1660146122c1565b611d9f8360001c60206122c1565b604051602001611db0929190612cf3565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df29190612f61565b60405180910390fd5b5050565b611e098282610c34565b611edb57600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e80611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611ee98282610c34565b15611fbd5760006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f62611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b60006002808111156120d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561210f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156121ac578173ffffffffffffffffffffffffffffffffffffffff166301ffc9a763780e9d6360e01b6040518263ffffffff1660e01b81526004016121559190612df4565b60206040518083038186803b15801561216d57600080fd5b505afa158015612181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a5919061282a565b90506122ad565b600060028111156121e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561221f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156122ac5760128273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561226d57600080fd5b505afa158015612281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a591906129fd565b60ff161490505b5b92915050565b600081600001549050919050565b6060600060028360026122d491906131bc565b6122de9190613166565b67ffffffffffffffff81111561231d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561234f5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106123ad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612437577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261247791906131bc565b6124819190613166565b90505b600181111561256d577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106124e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110612526577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806125669061334b565b9050612484565b50600084146125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a890612f83565b60405180910390fd5b8091505092915050565b5080546125c790613375565b6000825580601f106125d957506125f8565b601f0160209004906000526020600020908101906125f79190612681565b5b50565b82805461260790613375565b90600052602060002090601f0160209004810192826126295760008555612670565b82601f1061264257805160ff1916838001178555612670565b82800160010185558215612670579182015b8281111561266f578251825591602001919060010190612654565b5b50905061267d9190612681565b5090565b5b8082111561269a576000816000905550600101612682565b5090565b60006126b16126ac84613103565b6130de565b9050828152602081018484840111156126c957600080fd5b6126d4848285613309565b509392505050565b6000813590506126eb81613740565b92915050565b60008151905061270081613740565b92915050565b60008151905061271581613757565b92915050565b60008135905061272a8161376e565b92915050565b60008135905061273f81613785565b92915050565b6000813590506127548161379c565b92915050565b600081359050612769816137ac565b92915050565b600082601f83011261278057600080fd5b813561279084826020860161269e565b91505092915050565b6000813590506127a8816137c3565b92915050565b6000815190506127bd816137c3565b92915050565b6000815190506127d2816137da565b92915050565b6000602082840312156127ea57600080fd5b60006127f8848285016126dc565b91505092915050565b60006020828403121561281357600080fd5b6000612821848285016126f1565b91505092915050565b60006020828403121561283c57600080fd5b600061284a84828501612706565b91505092915050565b60006020828403121561286557600080fd5b60006128738482850161271b565b91505092915050565b6000806040838503121561288f57600080fd5b600061289d8582860161271b565b92505060206128ae858286016126dc565b9150509250929050565b6000602082840312156128ca57600080fd5b60006128d884828501612730565b91505092915050565b6000602082840312156128f357600080fd5b60006129018482850161275a565b91505092915050565b60008060008060008060c0878903121561292357600080fd5b600061293189828a0161275a565b965050602061294289828a0161275a565b955050604061295389828a016126dc565b945050606061296489828a01612745565b935050608061297589828a016126dc565b92505060a087013567ffffffffffffffff81111561299257600080fd5b61299e89828a0161276f565b9150509295509295509295565b6000602082840312156129bd57600080fd5b60006129cb84828501612799565b91505092915050565b6000602082840312156129e657600080fd5b60006129f4848285016127ae565b91505092915050565b600060208284031215612a0f57600080fd5b6000612a1d848285016127c3565b91505092915050565b612a2f81613216565b82525050565b612a3e81613228565b82525050565b612a4d81613234565b82525050565b612a5c8161323e565b82525050565b612a6b816132c1565b82525050565b612a7a816132e5565b82525050565b612a89816132f7565b82525050565b612a988161327d565b82525050565b6000612aa982613134565b612ab3818561314a565b9350612ac3818560208601613318565b612acc81613494565b840191505092915050565b6000612ae282613134565b612aec818561315b565b9350612afc818560208601613318565b80840191505092915050565b6000612b1560208361314a565b9150612b20826134a5565b602082019050919050565b6000612b38601d8361314a565b9150612b43826134ce565b602082019050919050565b6000612b5b60268361314a565b9150612b66826134f7565b604082019050919050565b6000612b7e60168361314a565b9150612b8982613546565b602082019050919050565b6000612ba160188361314a565b9150612bac8261356f565b602082019050919050565b6000612bc4601c8361314a565b9150612bcf82613598565b602082019050919050565b6000612be7602f8361314a565b9150612bf2826135c1565b604082019050919050565b6000612c0a60208361314a565b9150612c1582613610565b602082019050919050565b6000612c2d60008361313f565b9150612c3882613639565b600082019050919050565b6000612c5060178361315b565b9150612c5b8261363c565b601782019050919050565b6000612c7360328361314a565b9150612c7e82613665565b604082019050919050565b6000612c9660118361315b565b9150612ca1826136b4565b601182019050919050565b6000612cb9602f8361314a565b9150612cc4826136dd565b604082019050919050565b612cd8816132aa565b82525050565b6000612ce982612c20565b9150819050919050565b6000612cfe82612c43565b9150612d0a8285612ad7565b9150612d1582612c89565b9150612d218284612ad7565b91508190509392505050565b6000602082019050612d426000830184612a26565b92915050565b600060e082019050612d5d600083018a612a26565b612d6a6020830189612a8f565b612d776040830188612a35565b612d846060830187612a26565b612d916080830186612a71565b612d9e60a0830185612a26565b81810360c0830152612db08184612a9e565b905098975050505050505050565b6000602082019050612dd36000830184612a35565b92915050565b6000602082019050612dee6000830184612a44565b92915050565b6000602082019050612e096000830184612a53565b92915050565b6000602082019050612e246000830184612a62565b92915050565b6000602082019050612e3f6000830184612a8f565b92915050565b600060a082019050612e5a6000830188612a80565b612e676020830187612a26565b612e746040830186612a71565b612e816060830185612a26565b8181036080830152612e938184612a9e565b90509695505050505050565b600060a082019050612eb46000830188612a8f565b612ec16020830187612a26565b612ece6040830186612a71565b612edb6060830185612a26565b8181036080830152612eed8184612a9e565b90509695505050505050565b600060c082019050612f0e6000830189612a8f565b612f1b6020830188612a8f565b612f286040830187612a26565b612f356060830186612a71565b612f426080830185612a26565b81810360a0830152612f548184612a9e565b9050979650505050505050565b60006020820190508181036000830152612f7b8184612a9e565b905092915050565b60006020820190508181036000830152612f9c81612b08565b9050919050565b60006020820190508181036000830152612fbc81612b2b565b9050919050565b60006020820190508181036000830152612fdc81612b4e565b9050919050565b60006020820190508181036000830152612ffc81612b71565b9050919050565b6000602082019050818103600083015261301c81612b94565b9050919050565b6000602082019050818103600083015261303c81612bb7565b9050919050565b6000602082019050818103600083015261305c81612bda565b9050919050565b6000602082019050818103600083015261307c81612bfd565b9050919050565b6000602082019050818103600083015261309c81612c66565b9050919050565b600060208201905081810360008301526130bc81612cac565b9050919050565b60006020820190506130d86000830184612ccf565b92915050565b60006130e86130f9565b90506130f482826133a7565b919050565b6000604051905090565b600067ffffffffffffffff82111561311e5761311d613465565b5b61312782613494565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613171826132aa565b915061317c836132aa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156131b1576131b06133d8565b5b828201905092915050565b60006131c7826132aa565b91506131d2836132aa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561320b5761320a6133d8565b5b828202905092915050565b60006132218261328a565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60008190506132788261372c565b919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006132cc826132d3565b9050919050565b60006132de8261328a565b9050919050565b60006132f08261326a565b9050919050565b60006133028261327d565b9050919050565b82818337600083830152505050565b60005b8381101561333657808201518184015260208101905061331b565b83811115613345576000848401525b50505050565b6000613356826132aa565b9150600082141561336a576133696133d8565b5b600182039050919050565b6000600282049050600182168061338d57607f821691505b602082108114156133a1576133a0613436565b5b50919050565b6133b082613494565b810181811067ffffffffffffffff821117156133cf576133ce613465565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f5573657220646964206e6f742072656769737472656420696e20544750000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f746869732063686174207467696420616c72656164792074616b656e00000000600082015250565b7f436f6e747261637420646f6573206e6f74206d61746368207769746820636f7260008201527f726573706f6e64696e6720747970650000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f616c726561647920686173206265656e20617070726f766564204f522064696460008201527f6e2774206170706c69656420617420616c6c0000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6003811061373d5761373c613407565b5b50565b61374981613216565b811461375457600080fd5b50565b61376081613228565b811461376b57600080fd5b50565b61377781613234565b811461378257600080fd5b50565b61378e8161323e565b811461379957600080fd5b50565b600381106137a957600080fd5b50565b6137b58161327d565b81146137c057600080fd5b50565b6137cc816132aa565b81146137d757600080fd5b50565b6137e3816132b4565b81146137ee57600080fd5b5056fea264697066735822122030e1ba95a9d2bfe3a4d55d1e19379bc5e93117750d284dc084a397076ad7025464736f6c63430008040033", + "deployedBytecode": "0x60806040526004361061012a5760003560e01c806391d14854116100ab578063d4d8f8921161006f578063d4d8f892146103d7578063d547741f14610402578063d698b3641461042b578063d6b2da8e14610468578063e57bede4146104a5578063f2fde38b146104e25761012a565b806391d14854146102e7578063a217fddf14610324578063ad8f86601461034f578063b9f7076f14610378578063c25f3cf6146103945761012a565b806338743904116100f257806338743904146102245780635d1ce88f1461024f578063715018a61461027a5780637527d5a1146102915780638da5cb5b146102bc5761012a565b806301ffc9a71461012f578063248a9ca31461016c5780632f2ff15d146101a957806336568abe146101d257806336b9f727146101fb575b600080fd5b34801561013b57600080fd5b50610156600480360381019061015191906128b8565b61050b565b6040516101639190612dbe565b60405180910390f35b34801561017857600080fd5b50610193600480360381019061018e9190612853565b610585565b6040516101a09190612dd9565b60405180910390f35b3480156101b557600080fd5b506101d060048036038101906101cb919061287c565b6105a5565b005b3480156101de57600080fd5b506101f960048036038101906101f4919061287c565b6105ce565b005b34801561020757600080fd5b50610222600480360381019061021d91906127d8565b610651565b005b34801561023057600080fd5b50610239610b11565b6040516102469190612dd9565b60405180910390f35b34801561025b57600080fd5b50610264610b35565b6040516102719190612dd9565b60405180910390f35b34801561028657600080fd5b5061028f610b5d565b005b34801561029d57600080fd5b506102a6610be5565b6040516102b39190612e0f565b60405180910390f35b3480156102c857600080fd5b506102d1610c0b565b6040516102de9190612d2d565b60405180910390f35b3480156102f357600080fd5b5061030e6004803603810190610309919061287c565b610c34565b60405161031b9190612dbe565b60405180910390f35b34801561033057600080fd5b50610339610c9f565b6040516103469190612dd9565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906127d8565b610ca6565b005b610392600480360381019061038d919061290a565b611271565b005b3480156103a057600080fd5b506103bb60048036038101906103b691906127d8565b6119bb565b6040516103ce9796959493929190612d48565b60405180910390f35b3480156103e357600080fd5b506103ec611b0c565b6040516103f991906130c3565b60405180910390f35b34801561040e57600080fd5b506104296004803603810190610424919061287c565b611b1d565b005b34801561043757600080fd5b50610452600480360381019061044d91906129ab565b611b46565b60405161045f9190612e2a565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a91906128e1565b611b7d565b60405161049c9190612d2d565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c791906128e1565b611bb0565b6040516104d99190612d2d565b60405180910390f35b3480156104ee57600080fd5b50610509600480360381019061050491906127d8565b611bf8565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82611cf0565b5b9050919050565b600060016000838152602001908152602001600020600101549050919050565b6105ae82610585565b6105bf816105ba611d5a565b611d62565b6105c98383611dff565b505050565b6105d6611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063a906130a3565b60405180910390fd5b61064d8282611edf565b5050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e1576106838161067e611d5a565b611d62565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660028111156107fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610836577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820180546108a090613375565b80601f01602080910402602001604051908101604052809291908181526020018280546108cc90613375565b80156109195780601f106108ee57610100808354040283529160200191610919565b820191906000526020600020905b8154815290600101906020018083116108fc57829003601f168201915b505050505081525050905060001515816040015115151461096f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096690613083565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160146101000a81549060ff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610a7791906125bb565b505060056000826020015160070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fd06e11c55c5f21676305517c655a0188744d3bee09361e15470276872d56a0b98160200151826060015183608001518460a001518560c00151604051610b04959493929190612e45565b60405180910390a1505050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e15781565b60007fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157905090565b610b65611d5a565b73ffffffffffffffffffffffffffffffffffffffff16610b83610c0b565b73ffffffffffffffffffffffffffffffffffffffff1614610bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd090613063565b60405180910390fd5b610be36000611fc1565b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157610cd881610cd3611d5a565b611d62565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610e53577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610e8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610ef590613375565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2190613375565b8015610f6e5780601f10610f4357610100808354040283529160200191610f6e565b820191906000526020600020905b815481529060010190602001808311610f5157829003601f168201915b5050505050815250509050600015158160400151151514610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb90613083565b60405180910390fd5b600181604001901515908115158152505080600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115611146577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906111ae9291906125fb565b509050506111bc6007612085565b6006816020015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055507f19c3744c2d10eda4d05b727f02a712a414539c26678f5f988d98f9635afcac288160200151826060015183608001518460a001518560c00151604051611264959493929190612e45565b60405180910390a1505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c2fc6e3886040518263ffffffff1660e01b81526004016112ce9190612e2a565b60206040518083038186803b1580156112e657600080fd5b505afa1580156112fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131e9190612801565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612fa3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560008860070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142d90613023565b60405180910390fd5b84600560008860070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600061149a858561209b565b905060011515811515146114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613043565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166348dc15616040518163ffffffff1660e01b815260040160206040518083038186803b15801561154b57600080fd5b505afa15801561155f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158391906129d4565b6002819055506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018860070b81526020016000151581526020018773ffffffffffffffffffffffffffffffffffffffff168152602001866002811115611617577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff021916908360028111156117ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906118149291906125fb565b509050506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660025460405161186290612cde565b60006040518083038185875af1925050503d806000811461189f576040519150601f19603f3d011682016040523d82523d6000602084013e6118a4565b606091505b50509050806118e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118df90612fe3565b60405180910390fd5b600254341461192c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192390613003565b60405180910390fd5b7f0ae33dac4eb1cdcaf489d2a9a56c45d17257612cad7c531513d4e425951349e2888a8989898960405161196596959493929190612ef9565b60405180910390a18760070b7fefcac77603ca996faafa29a1d72a90249e186f4a4af6ad89434b18a66b6e9cd98a898989896040516119a8959493929190612e9f565b60405180910390a2505050505050505050565b60086020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003018054611a8990613375565b80601f0160208091040260200160405190810160405280929190818152602001828054611ab590613375565b8015611b025780601f10611ad757610100808354040283529160200191611b02565b820191906000526020600020905b815481529060010190602001808311611ae557829003601f168201915b5050505050905087565b6000611b1860076122b3565b905090565b611b2682610585565b611b3781611b32611d5a565b611d62565b611b418383611edf565b505050565b60068181548110611b5657600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600560008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080915050919050565b611c00611d5a565b73ffffffffffffffffffffffffffffffffffffffff16611c1e610c0b565b73ffffffffffffffffffffffffffffffffffffffff1614611c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6b90613063565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdb90612fc3565b60405180910390fd5b611ced81611fc1565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b611d6c8282610c34565b611dfb57611d918173ffffffffffffffffffffffffffffffffffffffff1660146122c1565b611d9f8360001c60206122c1565b604051602001611db0929190612cf3565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df29190612f61565b60405180910390fd5b5050565b611e098282610c34565b611edb57600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e80611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611ee98282610c34565b15611fbd5760006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f62611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b60006002808111156120d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561210f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156121ac578173ffffffffffffffffffffffffffffffffffffffff166301ffc9a763780e9d6360e01b6040518263ffffffff1660e01b81526004016121559190612df4565b60206040518083038186803b15801561216d57600080fd5b505afa158015612181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a5919061282a565b90506122ad565b600060028111156121e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561221f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156122ac5760128273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561226d57600080fd5b505afa158015612281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a591906129fd565b60ff161490505b5b92915050565b600081600001549050919050565b6060600060028360026122d491906131bc565b6122de9190613166565b67ffffffffffffffff81111561231d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561234f5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106123ad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612437577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261247791906131bc565b6124819190613166565b90505b600181111561256d577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106124e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110612526577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806125669061334b565b9050612484565b50600084146125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a890612f83565b60405180910390fd5b8091505092915050565b5080546125c790613375565b6000825580601f106125d957506125f8565b601f0160209004906000526020600020908101906125f79190612681565b5b50565b82805461260790613375565b90600052602060002090601f0160209004810192826126295760008555612670565b82601f1061264257805160ff1916838001178555612670565b82800160010185558215612670579182015b8281111561266f578251825591602001919060010190612654565b5b50905061267d9190612681565b5090565b5b8082111561269a576000816000905550600101612682565b5090565b60006126b16126ac84613103565b6130de565b9050828152602081018484840111156126c957600080fd5b6126d4848285613309565b509392505050565b6000813590506126eb81613740565b92915050565b60008151905061270081613740565b92915050565b60008151905061271581613757565b92915050565b60008135905061272a8161376e565b92915050565b60008135905061273f81613785565b92915050565b6000813590506127548161379c565b92915050565b600081359050612769816137ac565b92915050565b600082601f83011261278057600080fd5b813561279084826020860161269e565b91505092915050565b6000813590506127a8816137c3565b92915050565b6000815190506127bd816137c3565b92915050565b6000815190506127d2816137da565b92915050565b6000602082840312156127ea57600080fd5b60006127f8848285016126dc565b91505092915050565b60006020828403121561281357600080fd5b6000612821848285016126f1565b91505092915050565b60006020828403121561283c57600080fd5b600061284a84828501612706565b91505092915050565b60006020828403121561286557600080fd5b60006128738482850161271b565b91505092915050565b6000806040838503121561288f57600080fd5b600061289d8582860161271b565b92505060206128ae858286016126dc565b9150509250929050565b6000602082840312156128ca57600080fd5b60006128d884828501612730565b91505092915050565b6000602082840312156128f357600080fd5b60006129018482850161275a565b91505092915050565b60008060008060008060c0878903121561292357600080fd5b600061293189828a0161275a565b965050602061294289828a0161275a565b955050604061295389828a016126dc565b945050606061296489828a01612745565b935050608061297589828a016126dc565b92505060a087013567ffffffffffffffff81111561299257600080fd5b61299e89828a0161276f565b9150509295509295509295565b6000602082840312156129bd57600080fd5b60006129cb84828501612799565b91505092915050565b6000602082840312156129e657600080fd5b60006129f4848285016127ae565b91505092915050565b600060208284031215612a0f57600080fd5b6000612a1d848285016127c3565b91505092915050565b612a2f81613216565b82525050565b612a3e81613228565b82525050565b612a4d81613234565b82525050565b612a5c8161323e565b82525050565b612a6b816132c1565b82525050565b612a7a816132e5565b82525050565b612a89816132f7565b82525050565b612a988161327d565b82525050565b6000612aa982613134565b612ab3818561314a565b9350612ac3818560208601613318565b612acc81613494565b840191505092915050565b6000612ae282613134565b612aec818561315b565b9350612afc818560208601613318565b80840191505092915050565b6000612b1560208361314a565b9150612b20826134a5565b602082019050919050565b6000612b38601d8361314a565b9150612b43826134ce565b602082019050919050565b6000612b5b60268361314a565b9150612b66826134f7565b604082019050919050565b6000612b7e60168361314a565b9150612b8982613546565b602082019050919050565b6000612ba160188361314a565b9150612bac8261356f565b602082019050919050565b6000612bc4601c8361314a565b9150612bcf82613598565b602082019050919050565b6000612be7602f8361314a565b9150612bf2826135c1565b604082019050919050565b6000612c0a60208361314a565b9150612c1582613610565b602082019050919050565b6000612c2d60008361313f565b9150612c3882613639565b600082019050919050565b6000612c5060178361315b565b9150612c5b8261363c565b601782019050919050565b6000612c7360328361314a565b9150612c7e82613665565b604082019050919050565b6000612c9660118361315b565b9150612ca1826136b4565b601182019050919050565b6000612cb9602f8361314a565b9150612cc4826136dd565b604082019050919050565b612cd8816132aa565b82525050565b6000612ce982612c20565b9150819050919050565b6000612cfe82612c43565b9150612d0a8285612ad7565b9150612d1582612c89565b9150612d218284612ad7565b91508190509392505050565b6000602082019050612d426000830184612a26565b92915050565b600060e082019050612d5d600083018a612a26565b612d6a6020830189612a8f565b612d776040830188612a35565b612d846060830187612a26565b612d916080830186612a71565b612d9e60a0830185612a26565b81810360c0830152612db08184612a9e565b905098975050505050505050565b6000602082019050612dd36000830184612a35565b92915050565b6000602082019050612dee6000830184612a44565b92915050565b6000602082019050612e096000830184612a53565b92915050565b6000602082019050612e246000830184612a62565b92915050565b6000602082019050612e3f6000830184612a8f565b92915050565b600060a082019050612e5a6000830188612a80565b612e676020830187612a26565b612e746040830186612a71565b612e816060830185612a26565b8181036080830152612e938184612a9e565b90509695505050505050565b600060a082019050612eb46000830188612a8f565b612ec16020830187612a26565b612ece6040830186612a71565b612edb6060830185612a26565b8181036080830152612eed8184612a9e565b90509695505050505050565b600060c082019050612f0e6000830189612a8f565b612f1b6020830188612a8f565b612f286040830187612a26565b612f356060830186612a71565b612f426080830185612a26565b81810360a0830152612f548184612a9e565b9050979650505050505050565b60006020820190508181036000830152612f7b8184612a9e565b905092915050565b60006020820190508181036000830152612f9c81612b08565b9050919050565b60006020820190508181036000830152612fbc81612b2b565b9050919050565b60006020820190508181036000830152612fdc81612b4e565b9050919050565b60006020820190508181036000830152612ffc81612b71565b9050919050565b6000602082019050818103600083015261301c81612b94565b9050919050565b6000602082019050818103600083015261303c81612bb7565b9050919050565b6000602082019050818103600083015261305c81612bda565b9050919050565b6000602082019050818103600083015261307c81612bfd565b9050919050565b6000602082019050818103600083015261309c81612c66565b9050919050565b600060208201905081810360008301526130bc81612cac565b9050919050565b60006020820190506130d86000830184612ccf565b92915050565b60006130e86130f9565b90506130f482826133a7565b919050565b6000604051905090565b600067ffffffffffffffff82111561311e5761311d613465565b5b61312782613494565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613171826132aa565b915061317c836132aa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156131b1576131b06133d8565b5b828201905092915050565b60006131c7826132aa565b91506131d2836132aa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561320b5761320a6133d8565b5b828202905092915050565b60006132218261328a565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60008190506132788261372c565b919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006132cc826132d3565b9050919050565b60006132de8261328a565b9050919050565b60006132f08261326a565b9050919050565b60006133028261327d565b9050919050565b82818337600083830152505050565b60005b8381101561333657808201518184015260208101905061331b565b83811115613345576000848401525b50505050565b6000613356826132aa565b9150600082141561336a576133696133d8565b5b600182039050919050565b6000600282049050600182168061338d57607f821691505b602082108114156133a1576133a0613436565b5b50919050565b6133b082613494565b810181811067ffffffffffffffff821117156133cf576133ce613465565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f5573657220646964206e6f742072656769737472656420696e20544750000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f746869732063686174207467696420616c72656164792074616b656e00000000600082015250565b7f436f6e747261637420646f6573206e6f74206d61746368207769746820636f7260008201527f726573706f6e64696e6720747970650000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f616c726561647920686173206265656e20617070726f766564204f522064696460008201527f6e2774206170706c69656420617420616c6c0000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6003811061373d5761373c613407565b5b50565b61374981613216565b811461375457600080fd5b50565b61376081613228565b811461376b57600080fd5b50565b61377781613234565b811461378257600080fd5b50565b61378e8161323e565b811461379957600080fd5b50565b600381106137a957600080fd5b50565b6137b58161327d565b81146137c057600080fd5b50565b6137cc816132aa565b81146137d757600080fd5b50565b6137e3816132b4565b81146137ee57600080fd5b5056fea264697066735822122030e1ba95a9d2bfe3a4d55d1e19379bc5e93117750d284dc084a397076ad7025464736f6c63430008040033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/artifacts/contracts/erc20/ERC20Sample.sol/ERC20Sample.dbg.json b/artifacts/contracts/erc20/ERC20Sample.sol/ERC20Sample.dbg.json index 4ad0ce6..a00a642 100644 --- a/artifacts/contracts/erc20/ERC20Sample.sol/ERC20Sample.dbg.json +++ b/artifacts/contracts/erc20/ERC20Sample.sol/ERC20Sample.dbg.json @@ -1,4 +1,4 @@ { "_format": "hh-sol-dbg-1", - "buildInfo": "../../../build-info/751241ed289addc88a036405398bd6d5.json" + "buildInfo": "../../../build-info/34250fecc113d2f2e1976d341dc85eaf.json" } diff --git a/artifacts/contracts/erc20/ERC20Sample.sol/ERC20Sample.json b/artifacts/contracts/erc20/ERC20Sample.sol/ERC20Sample.json index 5ff9c7a..c31b235 100644 --- a/artifacts/contracts/erc20/ERC20Sample.sol/ERC20Sample.json +++ b/artifacts/contracts/erc20/ERC20Sample.sol/ERC20Sample.json @@ -365,8 +365,8 @@ "type": "function" } ], - "bytecode": "0x60806040523480156200001157600080fd5b50604051620022b4380380620022b4833981810160405281019062000037919062000506565b8282816003908051906020019062000051929190620003cd565b5080600490805190602001906200006a929190620003cd565b5050506200008d62000081620000a860201b60201c565b620000b060201b60201c565b6200009f33826200017660201b60201c565b505050620008d1565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b62000186620000a860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620001ac6200022060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000205576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001fc90620005ed565b60405180910390fd5b6200021c82826200024a60201b620009651760201c565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002bd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b4906200060f565b60405180910390fd5b620002d160008383620003c360201b60201c565b8060026000828254620002e59190620006be565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200033c9190620006be565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003a3919062000631565b60405180910390a3620003bf60008383620003c860201b60201c565b5050565b505050565b505050565b828054620003db906200075b565b90600052602060002090601f016020900481019282620003ff57600085556200044b565b82601f106200041a57805160ff19168380011785556200044b565b828001600101855582156200044b579182015b828111156200044a5782518255916020019190600101906200042d565b5b5090506200045a91906200045e565b5090565b5b80821115620004795760008160009055506001016200045f565b5090565b6000620004946200048e8462000677565b6200064e565b905082815260208101848484011115620004ad57600080fd5b620004ba84828562000725565b509392505050565b600082601f830112620004d457600080fd5b8151620004e68482602086016200047d565b91505092915050565b6000815190506200050081620008b7565b92915050565b6000806000606084860312156200051c57600080fd5b600084015167ffffffffffffffff8111156200053757600080fd5b6200054586828701620004c2565b935050602084015167ffffffffffffffff8111156200056357600080fd5b6200057186828701620004c2565b92505060406200058486828701620004ef565b9150509250925092565b60006200059d602083620006ad565b9150620005aa8262000865565b602082019050919050565b6000620005c4601f83620006ad565b9150620005d1826200088e565b602082019050919050565b620005e7816200071b565b82525050565b6000602082019050818103600083015262000608816200058e565b9050919050565b600060208201905081810360008301526200062a81620005b5565b9050919050565b6000602082019050620006486000830184620005dc565b92915050565b60006200065a6200066d565b905062000668828262000791565b919050565b6000604051905090565b600067ffffffffffffffff82111562000695576200069462000825565b5b620006a08262000854565b9050602081019050919050565b600082825260208201905092915050565b6000620006cb826200071b565b9150620006d8836200071b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000710576200070f620007c7565b5b828201905092915050565b6000819050919050565b60005b838110156200074557808201518184015260208101905062000728565b8381111562000755576000848401525b50505050565b600060028204905060018216806200077457607f821691505b602082108114156200078b576200078a620007f6565b5b50919050565b6200079c8262000854565b810181811067ffffffffffffffff82111715620007be57620007bd62000825565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b620008c2816200071b565b8114620008ce57600080fd5b50565b6119d380620008e16000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806340c10f19146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f9190611398565b60405180910390f35b610132600480360381019061012d9190611153565b6103b4565b60405161013f919061137d565b60405180910390f35b6101506103d7565b60405161015d91906114fa565b60405180910390f35b610180600480360381019061017b9190611104565b6103e1565b60405161018d919061137d565b60405180910390f35b61019e610410565b6040516101ab9190611515565b60405180910390f35b6101ce60048036038101906101c99190611153565b610419565b6040516101db919061137d565b60405180910390f35b6101fe60048036038101906101f99190611153565b6104c3565b005b61021a6004803603810190610215919061109f565b61054d565b60405161022791906114fa565b60405180910390f35b610238610595565b005b61024261061d565b60405161024f9190611362565b60405180910390f35b610260610647565b60405161026d9190611398565b60405180910390f35b610290600480360381019061028b9190611153565b6106d9565b60405161029d919061137d565b60405180910390f35b6102c060048036038101906102bb9190611153565b6107c3565b6040516102cd919061137d565b60405180910390f35b6102f060048036038101906102eb91906110c8565b6107e6565b6040516102fd91906114fa565b60405180910390f35b610320600480360381019061031b919061109f565b61086d565b005b6060600380546103319061162a565b80601f016020809104026020016040519081016040528092919081815260200182805461035d9061162a565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b6000806103bf610ac5565b90506103cc818585610acd565b600191505092915050565b6000600254905090565b6000806103ec610ac5565b90506103f9858285610c98565b610404858585610d24565b60019150509392505050565b60006012905090565b600080610424610ac5565b90506104b8818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104b3919061154c565b610acd565b600191505092915050565b6104cb610ac5565b73ffffffffffffffffffffffffffffffffffffffff166104e961061d565b73ffffffffffffffffffffffffffffffffffffffff161461053f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105369061145a565b60405180910390fd5b6105498282610965565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61059d610ac5565b73ffffffffffffffffffffffffffffffffffffffff166105bb61061d565b73ffffffffffffffffffffffffffffffffffffffff1614610611576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106089061145a565b60405180910390fd5b61061b6000610fa5565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106569061162a565b80601f01602080910402602001604051908101604052809291908181526020018280546106829061162a565b80156106cf5780601f106106a4576101008083540402835291602001916106cf565b820191906000526020600020905b8154815290600101906020018083116106b257829003601f168201915b5050505050905090565b6000806106e4610ac5565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a1906114ba565b60405180910390fd5b6107b78286868403610acd565b60019250505092915050565b6000806107ce610ac5565b90506107db818585610d24565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610875610ac5565b73ffffffffffffffffffffffffffffffffffffffff1661089361061d565b73ffffffffffffffffffffffffffffffffffffffff16146108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e09061145a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610959576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610950906113da565b60405180910390fd5b61096281610fa5565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc906114da565b60405180910390fd5b6109e16000838361106b565b80600260008282546109f3919061154c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a48919061154c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610aad91906114fa565b60405180910390a3610ac160008383611070565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b349061149a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906113fa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c8b91906114fa565b60405180910390a3505050565b6000610ca484846107e6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d1e5781811015610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d079061141a565b60405180910390fd5b610d1d8484848403610acd565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b9061147a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb906113ba565b60405180910390fd5b610e0f83838361106b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c9061143a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f28919061154c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f8c91906114fa565b60405180910390a3610f9f848484611070565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b6000813590506110848161196f565b92915050565b60008135905061109981611986565b92915050565b6000602082840312156110b157600080fd5b60006110bf84828501611075565b91505092915050565b600080604083850312156110db57600080fd5b60006110e985828601611075565b92505060206110fa85828601611075565b9150509250929050565b60008060006060848603121561111957600080fd5b600061112786828701611075565b935050602061113886828701611075565b92505060406111498682870161108a565b9150509250925092565b6000806040838503121561116657600080fd5b600061117485828601611075565b92505060206111858582860161108a565b9150509250929050565b611198816115a2565b82525050565b6111a7816115b4565b82525050565b60006111b882611530565b6111c2818561153b565b93506111d28185602086016115f7565b6111db816116ba565b840191505092915050565b60006111f360238361153b565b91506111fe826116cb565b604082019050919050565b600061121660268361153b565b91506112218261171a565b604082019050919050565b600061123960228361153b565b915061124482611769565b604082019050919050565b600061125c601d8361153b565b9150611267826117b8565b602082019050919050565b600061127f60268361153b565b915061128a826117e1565b604082019050919050565b60006112a260208361153b565b91506112ad82611830565b602082019050919050565b60006112c560258361153b565b91506112d082611859565b604082019050919050565b60006112e860248361153b565b91506112f3826118a8565b604082019050919050565b600061130b60258361153b565b9150611316826118f7565b604082019050919050565b600061132e601f8361153b565b915061133982611946565b602082019050919050565b61134d816115e0565b82525050565b61135c816115ea565b82525050565b6000602082019050611377600083018461118f565b92915050565b6000602082019050611392600083018461119e565b92915050565b600060208201905081810360008301526113b281846111ad565b905092915050565b600060208201905081810360008301526113d3816111e6565b9050919050565b600060208201905081810360008301526113f381611209565b9050919050565b600060208201905081810360008301526114138161122c565b9050919050565b600060208201905081810360008301526114338161124f565b9050919050565b6000602082019050818103600083015261145381611272565b9050919050565b6000602082019050818103600083015261147381611295565b9050919050565b60006020820190508181036000830152611493816112b8565b9050919050565b600060208201905081810360008301526114b3816112db565b9050919050565b600060208201905081810360008301526114d3816112fe565b9050919050565b600060208201905081810360008301526114f381611321565b9050919050565b600060208201905061150f6000830184611344565b92915050565b600060208201905061152a6000830184611353565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611557826115e0565b9150611562836115e0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115975761159661165c565b5b828201905092915050565b60006115ad826115c0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156116155780820151818401526020810190506115fa565b83811115611624576000848401525b50505050565b6000600282049050600182168061164257607f821691505b602082108114156116565761165561168b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611978816115a2565b811461198357600080fd5b50565b61198f816115e0565b811461199a57600080fd5b5056fea2646970667358221220cc34c6eff1b8b70d856f7d0427cb956d26f10988e00adfbfbb82eba3a4191c7664736f6c63430008040033", - "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806340c10f19146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f9190611398565b60405180910390f35b610132600480360381019061012d9190611153565b6103b4565b60405161013f919061137d565b60405180910390f35b6101506103d7565b60405161015d91906114fa565b60405180910390f35b610180600480360381019061017b9190611104565b6103e1565b60405161018d919061137d565b60405180910390f35b61019e610410565b6040516101ab9190611515565b60405180910390f35b6101ce60048036038101906101c99190611153565b610419565b6040516101db919061137d565b60405180910390f35b6101fe60048036038101906101f99190611153565b6104c3565b005b61021a6004803603810190610215919061109f565b61054d565b60405161022791906114fa565b60405180910390f35b610238610595565b005b61024261061d565b60405161024f9190611362565b60405180910390f35b610260610647565b60405161026d9190611398565b60405180910390f35b610290600480360381019061028b9190611153565b6106d9565b60405161029d919061137d565b60405180910390f35b6102c060048036038101906102bb9190611153565b6107c3565b6040516102cd919061137d565b60405180910390f35b6102f060048036038101906102eb91906110c8565b6107e6565b6040516102fd91906114fa565b60405180910390f35b610320600480360381019061031b919061109f565b61086d565b005b6060600380546103319061162a565b80601f016020809104026020016040519081016040528092919081815260200182805461035d9061162a565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b6000806103bf610ac5565b90506103cc818585610acd565b600191505092915050565b6000600254905090565b6000806103ec610ac5565b90506103f9858285610c98565b610404858585610d24565b60019150509392505050565b60006012905090565b600080610424610ac5565b90506104b8818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104b3919061154c565b610acd565b600191505092915050565b6104cb610ac5565b73ffffffffffffffffffffffffffffffffffffffff166104e961061d565b73ffffffffffffffffffffffffffffffffffffffff161461053f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105369061145a565b60405180910390fd5b6105498282610965565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61059d610ac5565b73ffffffffffffffffffffffffffffffffffffffff166105bb61061d565b73ffffffffffffffffffffffffffffffffffffffff1614610611576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106089061145a565b60405180910390fd5b61061b6000610fa5565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106569061162a565b80601f01602080910402602001604051908101604052809291908181526020018280546106829061162a565b80156106cf5780601f106106a4576101008083540402835291602001916106cf565b820191906000526020600020905b8154815290600101906020018083116106b257829003601f168201915b5050505050905090565b6000806106e4610ac5565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a1906114ba565b60405180910390fd5b6107b78286868403610acd565b60019250505092915050565b6000806107ce610ac5565b90506107db818585610d24565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610875610ac5565b73ffffffffffffffffffffffffffffffffffffffff1661089361061d565b73ffffffffffffffffffffffffffffffffffffffff16146108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e09061145a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610959576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610950906113da565b60405180910390fd5b61096281610fa5565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc906114da565b60405180910390fd5b6109e16000838361106b565b80600260008282546109f3919061154c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a48919061154c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610aad91906114fa565b60405180910390a3610ac160008383611070565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b349061149a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906113fa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c8b91906114fa565b60405180910390a3505050565b6000610ca484846107e6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d1e5781811015610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d079061141a565b60405180910390fd5b610d1d8484848403610acd565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b9061147a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb906113ba565b60405180910390fd5b610e0f83838361106b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c9061143a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f28919061154c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f8c91906114fa565b60405180910390a3610f9f848484611070565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b6000813590506110848161196f565b92915050565b60008135905061109981611986565b92915050565b6000602082840312156110b157600080fd5b60006110bf84828501611075565b91505092915050565b600080604083850312156110db57600080fd5b60006110e985828601611075565b92505060206110fa85828601611075565b9150509250929050565b60008060006060848603121561111957600080fd5b600061112786828701611075565b935050602061113886828701611075565b92505060406111498682870161108a565b9150509250925092565b6000806040838503121561116657600080fd5b600061117485828601611075565b92505060206111858582860161108a565b9150509250929050565b611198816115a2565b82525050565b6111a7816115b4565b82525050565b60006111b882611530565b6111c2818561153b565b93506111d28185602086016115f7565b6111db816116ba565b840191505092915050565b60006111f360238361153b565b91506111fe826116cb565b604082019050919050565b600061121660268361153b565b91506112218261171a565b604082019050919050565b600061123960228361153b565b915061124482611769565b604082019050919050565b600061125c601d8361153b565b9150611267826117b8565b602082019050919050565b600061127f60268361153b565b915061128a826117e1565b604082019050919050565b60006112a260208361153b565b91506112ad82611830565b602082019050919050565b60006112c560258361153b565b91506112d082611859565b604082019050919050565b60006112e860248361153b565b91506112f3826118a8565b604082019050919050565b600061130b60258361153b565b9150611316826118f7565b604082019050919050565b600061132e601f8361153b565b915061133982611946565b602082019050919050565b61134d816115e0565b82525050565b61135c816115ea565b82525050565b6000602082019050611377600083018461118f565b92915050565b6000602082019050611392600083018461119e565b92915050565b600060208201905081810360008301526113b281846111ad565b905092915050565b600060208201905081810360008301526113d3816111e6565b9050919050565b600060208201905081810360008301526113f381611209565b9050919050565b600060208201905081810360008301526114138161122c565b9050919050565b600060208201905081810360008301526114338161124f565b9050919050565b6000602082019050818103600083015261145381611272565b9050919050565b6000602082019050818103600083015261147381611295565b9050919050565b60006020820190508181036000830152611493816112b8565b9050919050565b600060208201905081810360008301526114b3816112db565b9050919050565b600060208201905081810360008301526114d3816112fe565b9050919050565b600060208201905081810360008301526114f381611321565b9050919050565b600060208201905061150f6000830184611344565b92915050565b600060208201905061152a6000830184611353565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611557826115e0565b9150611562836115e0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115975761159661165c565b5b828201905092915050565b60006115ad826115c0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156116155780820151818401526020810190506115fa565b83811115611624576000848401525b50505050565b6000600282049050600182168061164257607f821691505b602082108114156116565761165561168b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611978816115a2565b811461198357600080fd5b50565b61198f816115e0565b811461199a57600080fd5b5056fea2646970667358221220cc34c6eff1b8b70d856f7d0427cb956d26f10988e00adfbfbb82eba3a4191c7664736f6c63430008040033", + "bytecode": "0x60806040523480156200001157600080fd5b50604051620022b4380380620022b4833981810160405281019062000037919062000506565b8282816003908051906020019062000051929190620003cd565b5080600490805190602001906200006a929190620003cd565b5050506200008d62000081620000a860201b60201c565b620000b060201b60201c565b6200009f33826200017660201b60201c565b505050620008d1565b600033905090565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b62000186620000a860201b60201c565b73ffffffffffffffffffffffffffffffffffffffff16620001ac6200022060201b60201c565b73ffffffffffffffffffffffffffffffffffffffff161462000205576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620001fc90620005ed565b60405180910390fd5b6200021c82826200024a60201b620009651760201c565b5050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415620002bd576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401620002b4906200060f565b60405180910390fd5b620002d160008383620003c360201b60201c565b8060026000828254620002e59190620006be565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008282546200033c9190620006be565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051620003a3919062000631565b60405180910390a3620003bf60008383620003c860201b60201c565b5050565b505050565b505050565b828054620003db906200075b565b90600052602060002090601f016020900481019282620003ff57600085556200044b565b82601f106200041a57805160ff19168380011785556200044b565b828001600101855582156200044b579182015b828111156200044a5782518255916020019190600101906200042d565b5b5090506200045a91906200045e565b5090565b5b80821115620004795760008160009055506001016200045f565b5090565b6000620004946200048e8462000677565b6200064e565b905082815260208101848484011115620004ad57600080fd5b620004ba84828562000725565b509392505050565b600082601f830112620004d457600080fd5b8151620004e68482602086016200047d565b91505092915050565b6000815190506200050081620008b7565b92915050565b6000806000606084860312156200051c57600080fd5b600084015167ffffffffffffffff8111156200053757600080fd5b6200054586828701620004c2565b935050602084015167ffffffffffffffff8111156200056357600080fd5b6200057186828701620004c2565b92505060406200058486828701620004ef565b9150509250925092565b60006200059d602083620006ad565b9150620005aa8262000865565b602082019050919050565b6000620005c4601f83620006ad565b9150620005d1826200088e565b602082019050919050565b620005e7816200071b565b82525050565b6000602082019050818103600083015262000608816200058e565b9050919050565b600060208201905081810360008301526200062a81620005b5565b9050919050565b6000602082019050620006486000830184620005dc565b92915050565b60006200065a6200066d565b905062000668828262000791565b919050565b6000604051905090565b600067ffffffffffffffff82111562000695576200069462000825565b5b620006a08262000854565b9050602081019050919050565b600082825260208201905092915050565b6000620006cb826200071b565b9150620006d8836200071b565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff0382111562000710576200070f620007c7565b5b828201905092915050565b6000819050919050565b60005b838110156200074557808201518184015260208101905062000728565b8381111562000755576000848401525b50505050565b600060028204905060018216806200077457607f821691505b602082108114156200078b576200078a620007f6565b5b50919050565b6200079c8262000854565b810181811067ffffffffffffffff82111715620007be57620007bd62000825565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b620008c2816200071b565b8114620008ce57600080fd5b50565b6119d380620008e16000396000f3fe608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806340c10f19146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f9190611398565b60405180910390f35b610132600480360381019061012d9190611153565b6103b4565b60405161013f919061137d565b60405180910390f35b6101506103d7565b60405161015d91906114fa565b60405180910390f35b610180600480360381019061017b9190611104565b6103e1565b60405161018d919061137d565b60405180910390f35b61019e610410565b6040516101ab9190611515565b60405180910390f35b6101ce60048036038101906101c99190611153565b610419565b6040516101db919061137d565b60405180910390f35b6101fe60048036038101906101f99190611153565b6104c3565b005b61021a6004803603810190610215919061109f565b61054d565b60405161022791906114fa565b60405180910390f35b610238610595565b005b61024261061d565b60405161024f9190611362565b60405180910390f35b610260610647565b60405161026d9190611398565b60405180910390f35b610290600480360381019061028b9190611153565b6106d9565b60405161029d919061137d565b60405180910390f35b6102c060048036038101906102bb9190611153565b6107c3565b6040516102cd919061137d565b60405180910390f35b6102f060048036038101906102eb91906110c8565b6107e6565b6040516102fd91906114fa565b60405180910390f35b610320600480360381019061031b919061109f565b61086d565b005b6060600380546103319061162a565b80601f016020809104026020016040519081016040528092919081815260200182805461035d9061162a565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b6000806103bf610ac5565b90506103cc818585610acd565b600191505092915050565b6000600254905090565b6000806103ec610ac5565b90506103f9858285610c98565b610404858585610d24565b60019150509392505050565b60006012905090565b600080610424610ac5565b90506104b8818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104b3919061154c565b610acd565b600191505092915050565b6104cb610ac5565b73ffffffffffffffffffffffffffffffffffffffff166104e961061d565b73ffffffffffffffffffffffffffffffffffffffff161461053f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105369061145a565b60405180910390fd5b6105498282610965565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61059d610ac5565b73ffffffffffffffffffffffffffffffffffffffff166105bb61061d565b73ffffffffffffffffffffffffffffffffffffffff1614610611576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106089061145a565b60405180910390fd5b61061b6000610fa5565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106569061162a565b80601f01602080910402602001604051908101604052809291908181526020018280546106829061162a565b80156106cf5780601f106106a4576101008083540402835291602001916106cf565b820191906000526020600020905b8154815290600101906020018083116106b257829003601f168201915b5050505050905090565b6000806106e4610ac5565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a1906114ba565b60405180910390fd5b6107b78286868403610acd565b60019250505092915050565b6000806107ce610ac5565b90506107db818585610d24565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610875610ac5565b73ffffffffffffffffffffffffffffffffffffffff1661089361061d565b73ffffffffffffffffffffffffffffffffffffffff16146108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e09061145a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610959576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610950906113da565b60405180910390fd5b61096281610fa5565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc906114da565b60405180910390fd5b6109e16000838361106b565b80600260008282546109f3919061154c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a48919061154c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610aad91906114fa565b60405180910390a3610ac160008383611070565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b349061149a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906113fa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c8b91906114fa565b60405180910390a3505050565b6000610ca484846107e6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d1e5781811015610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d079061141a565b60405180910390fd5b610d1d8484848403610acd565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b9061147a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb906113ba565b60405180910390fd5b610e0f83838361106b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c9061143a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f28919061154c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f8c91906114fa565b60405180910390a3610f9f848484611070565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b6000813590506110848161196f565b92915050565b60008135905061109981611986565b92915050565b6000602082840312156110b157600080fd5b60006110bf84828501611075565b91505092915050565b600080604083850312156110db57600080fd5b60006110e985828601611075565b92505060206110fa85828601611075565b9150509250929050565b60008060006060848603121561111957600080fd5b600061112786828701611075565b935050602061113886828701611075565b92505060406111498682870161108a565b9150509250925092565b6000806040838503121561116657600080fd5b600061117485828601611075565b92505060206111858582860161108a565b9150509250929050565b611198816115a2565b82525050565b6111a7816115b4565b82525050565b60006111b882611530565b6111c2818561153b565b93506111d28185602086016115f7565b6111db816116ba565b840191505092915050565b60006111f360238361153b565b91506111fe826116cb565b604082019050919050565b600061121660268361153b565b91506112218261171a565b604082019050919050565b600061123960228361153b565b915061124482611769565b604082019050919050565b600061125c601d8361153b565b9150611267826117b8565b602082019050919050565b600061127f60268361153b565b915061128a826117e1565b604082019050919050565b60006112a260208361153b565b91506112ad82611830565b602082019050919050565b60006112c560258361153b565b91506112d082611859565b604082019050919050565b60006112e860248361153b565b91506112f3826118a8565b604082019050919050565b600061130b60258361153b565b9150611316826118f7565b604082019050919050565b600061132e601f8361153b565b915061133982611946565b602082019050919050565b61134d816115e0565b82525050565b61135c816115ea565b82525050565b6000602082019050611377600083018461118f565b92915050565b6000602082019050611392600083018461119e565b92915050565b600060208201905081810360008301526113b281846111ad565b905092915050565b600060208201905081810360008301526113d3816111e6565b9050919050565b600060208201905081810360008301526113f381611209565b9050919050565b600060208201905081810360008301526114138161122c565b9050919050565b600060208201905081810360008301526114338161124f565b9050919050565b6000602082019050818103600083015261145381611272565b9050919050565b6000602082019050818103600083015261147381611295565b9050919050565b60006020820190508181036000830152611493816112b8565b9050919050565b600060208201905081810360008301526114b3816112db565b9050919050565b600060208201905081810360008301526114d3816112fe565b9050919050565b600060208201905081810360008301526114f381611321565b9050919050565b600060208201905061150f6000830184611344565b92915050565b600060208201905061152a6000830184611353565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611557826115e0565b9150611562836115e0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115975761159661165c565b5b828201905092915050565b60006115ad826115c0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156116155780820151818401526020810190506115fa565b83811115611624576000848401525b50505050565b6000600282049050600182168061164257607f821691505b602082108114156116565761165561168b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611978816115a2565b811461198357600080fd5b50565b61198f816115e0565b811461199a57600080fd5b5056fea2646970667358221220db993fd4d85a55154527f57d0cf62d79fbbed547ef44b132ff6c0148e0a57d1664736f6c63430008040033", + "deployedBytecode": "0x608060405234801561001057600080fd5b50600436106100f55760003560e01c806370a0823111610097578063a457c2d711610066578063a457c2d714610276578063a9059cbb146102a6578063dd62ed3e146102d6578063f2fde38b14610306576100f5565b806370a0823114610200578063715018a6146102305780638da5cb5b1461023a57806395d89b4114610258576100f5565b806323b872dd116100d357806323b872dd14610166578063313ce5671461019657806339509351146101b457806340c10f19146101e4576100f5565b806306fdde03146100fa578063095ea7b31461011857806318160ddd14610148575b600080fd5b610102610322565b60405161010f9190611398565b60405180910390f35b610132600480360381019061012d9190611153565b6103b4565b60405161013f919061137d565b60405180910390f35b6101506103d7565b60405161015d91906114fa565b60405180910390f35b610180600480360381019061017b9190611104565b6103e1565b60405161018d919061137d565b60405180910390f35b61019e610410565b6040516101ab9190611515565b60405180910390f35b6101ce60048036038101906101c99190611153565b610419565b6040516101db919061137d565b60405180910390f35b6101fe60048036038101906101f99190611153565b6104c3565b005b61021a6004803603810190610215919061109f565b61054d565b60405161022791906114fa565b60405180910390f35b610238610595565b005b61024261061d565b60405161024f9190611362565b60405180910390f35b610260610647565b60405161026d9190611398565b60405180910390f35b610290600480360381019061028b9190611153565b6106d9565b60405161029d919061137d565b60405180910390f35b6102c060048036038101906102bb9190611153565b6107c3565b6040516102cd919061137d565b60405180910390f35b6102f060048036038101906102eb91906110c8565b6107e6565b6040516102fd91906114fa565b60405180910390f35b610320600480360381019061031b919061109f565b61086d565b005b6060600380546103319061162a565b80601f016020809104026020016040519081016040528092919081815260200182805461035d9061162a565b80156103aa5780601f1061037f576101008083540402835291602001916103aa565b820191906000526020600020905b81548152906001019060200180831161038d57829003601f168201915b5050505050905090565b6000806103bf610ac5565b90506103cc818585610acd565b600191505092915050565b6000600254905090565b6000806103ec610ac5565b90506103f9858285610c98565b610404858585610d24565b60019150509392505050565b60006012905090565b600080610424610ac5565b90506104b8818585600160008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008973ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020546104b3919061154c565b610acd565b600191505092915050565b6104cb610ac5565b73ffffffffffffffffffffffffffffffffffffffff166104e961061d565b73ffffffffffffffffffffffffffffffffffffffff161461053f576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016105369061145a565b60405180910390fd5b6105498282610965565b5050565b60008060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050919050565b61059d610ac5565b73ffffffffffffffffffffffffffffffffffffffff166105bb61061d565b73ffffffffffffffffffffffffffffffffffffffff1614610611576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016106089061145a565b60405180910390fd5b61061b6000610fa5565b565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6060600480546106569061162a565b80601f01602080910402602001604051908101604052809291908181526020018280546106829061162a565b80156106cf5780601f106106a4576101008083540402835291602001916106cf565b820191906000526020600020905b8154815290600101906020018083116106b257829003601f168201915b5050505050905090565b6000806106e4610ac5565b90506000600160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020549050838110156107aa576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016107a1906114ba565b60405180910390fd5b6107b78286868403610acd565b60019250505092915050565b6000806107ce610ac5565b90506107db818585610d24565b600191505092915050565b6000600160008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905092915050565b610875610ac5565b73ffffffffffffffffffffffffffffffffffffffff1661089361061d565b73ffffffffffffffffffffffffffffffffffffffff16146108e9576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016108e09061145a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415610959576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610950906113da565b60405180910390fd5b61096281610fa5565b50565b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff1614156109d5576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016109cc906114da565b60405180910390fd5b6109e16000838361106b565b80600260008282546109f3919061154c565b92505081905550806000808473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610a48919061154c565b925050819055508173ffffffffffffffffffffffffffffffffffffffff16600073ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef83604051610aad91906114fa565b60405180910390a3610ac160008383611070565b5050565b600033905090565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610b3d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610b349061149a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610bad576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610ba4906113fa565b60405180910390fd5b80600160008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020819055508173ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff167f8c5be1e5ebec7d5bd14f71427d1e84f3dd0314c0f7b2291e5b200ac8c7c3b92583604051610c8b91906114fa565b60405180910390a3505050565b6000610ca484846107e6565b90507fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff8114610d1e5781811015610d10576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d079061141a565b60405180910390fd5b610d1d8484848403610acd565b5b50505050565b600073ffffffffffffffffffffffffffffffffffffffff168373ffffffffffffffffffffffffffffffffffffffff161415610d94576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610d8b9061147a565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168273ffffffffffffffffffffffffffffffffffffffff161415610e04576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610dfb906113ba565b60405180910390fd5b610e0f83838361106b565b60008060008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002054905081811015610e95576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610e8c9061143a565b60405180910390fd5b8181036000808673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002081905550816000808573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206000828254610f28919061154c565b925050819055508273ffffffffffffffffffffffffffffffffffffffff168473ffffffffffffffffffffffffffffffffffffffff167fddf252ad1be2c89b69c2b068fc378daa952ba7f163c4a11628f55a4df523b3ef84604051610f8c91906114fa565b60405180910390a3610f9f848484611070565b50505050565b6000600560009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905081600560006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b505050565b505050565b6000813590506110848161196f565b92915050565b60008135905061109981611986565b92915050565b6000602082840312156110b157600080fd5b60006110bf84828501611075565b91505092915050565b600080604083850312156110db57600080fd5b60006110e985828601611075565b92505060206110fa85828601611075565b9150509250929050565b60008060006060848603121561111957600080fd5b600061112786828701611075565b935050602061113886828701611075565b92505060406111498682870161108a565b9150509250925092565b6000806040838503121561116657600080fd5b600061117485828601611075565b92505060206111858582860161108a565b9150509250929050565b611198816115a2565b82525050565b6111a7816115b4565b82525050565b60006111b882611530565b6111c2818561153b565b93506111d28185602086016115f7565b6111db816116ba565b840191505092915050565b60006111f360238361153b565b91506111fe826116cb565b604082019050919050565b600061121660268361153b565b91506112218261171a565b604082019050919050565b600061123960228361153b565b915061124482611769565b604082019050919050565b600061125c601d8361153b565b9150611267826117b8565b602082019050919050565b600061127f60268361153b565b915061128a826117e1565b604082019050919050565b60006112a260208361153b565b91506112ad82611830565b602082019050919050565b60006112c560258361153b565b91506112d082611859565b604082019050919050565b60006112e860248361153b565b91506112f3826118a8565b604082019050919050565b600061130b60258361153b565b9150611316826118f7565b604082019050919050565b600061132e601f8361153b565b915061133982611946565b602082019050919050565b61134d816115e0565b82525050565b61135c816115ea565b82525050565b6000602082019050611377600083018461118f565b92915050565b6000602082019050611392600083018461119e565b92915050565b600060208201905081810360008301526113b281846111ad565b905092915050565b600060208201905081810360008301526113d3816111e6565b9050919050565b600060208201905081810360008301526113f381611209565b9050919050565b600060208201905081810360008301526114138161122c565b9050919050565b600060208201905081810360008301526114338161124f565b9050919050565b6000602082019050818103600083015261145381611272565b9050919050565b6000602082019050818103600083015261147381611295565b9050919050565b60006020820190508181036000830152611493816112b8565b9050919050565b600060208201905081810360008301526114b3816112db565b9050919050565b600060208201905081810360008301526114d3816112fe565b9050919050565b600060208201905081810360008301526114f381611321565b9050919050565b600060208201905061150f6000830184611344565b92915050565b600060208201905061152a6000830184611353565b92915050565b600081519050919050565b600082825260208201905092915050565b6000611557826115e0565b9150611562836115e0565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156115975761159661165c565b5b828201905092915050565b60006115ad826115c0565b9050919050565b60008115159050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60005b838110156116155780820151818401526020810190506115fa565b83811115611624576000848401525b50505050565b6000600282049050600182168061164257607f821691505b602082108114156116565761165561168b565b5b50919050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b6000601f19601f8301169050919050565b7f45524332303a207472616e7366657220746f20746865207a65726f206164647260008201527f6573730000000000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f766520746f20746865207a65726f20616464726560008201527f7373000000000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20696e73756666696369656e7420616c6c6f77616e6365000000600082015250565b7f45524332303a207472616e7366657220616d6f756e742065786365656473206260008201527f616c616e63650000000000000000000000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b7f45524332303a207472616e736665722066726f6d20746865207a65726f20616460008201527f6472657373000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a20617070726f76652066726f6d20746865207a65726f2061646460008201527f7265737300000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a2064656372656173656420616c6c6f77616e63652062656c6f7760008201527f207a65726f000000000000000000000000000000000000000000000000000000602082015250565b7f45524332303a206d696e7420746f20746865207a65726f206164647265737300600082015250565b611978816115a2565b811461198357600080fd5b50565b61198f816115e0565b811461199a57600080fd5b5056fea2646970667358221220db993fd4d85a55154527f57d0cf62d79fbbed547ef44b132ff6c0148e0a57d1664736f6c63430008040033", "linkReferences": {}, "deployedLinkReferences": {} } diff --git a/build/AccessControl.abi b/build/AccessControl.abi new file mode 100644 index 0000000..b0fe351 --- /dev/null +++ b/build/AccessControl.abi @@ -0,0 +1 @@ +[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"}] \ No newline at end of file diff --git a/build/AccessControl.bin b/build/AccessControl.bin new file mode 100644 index 0000000..e69de29 diff --git a/build/IAccessControl.abi b/build/IAccessControl.abi new file mode 100644 index 0000000..c73da1a --- /dev/null +++ b/build/IAccessControl.abi @@ -0,0 +1 @@ +[{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file diff --git a/build/IAccessControl.bin b/build/IAccessControl.bin new file mode 100644 index 0000000..e69de29 diff --git a/build/Union.abi b/build/Union.abi index 5b3b177..8d330d6 100644 --- a/build/Union.abi +++ b/build/Union.abi @@ -1 +1 @@ -[{"inputs":[{"internalType":"address","name":"passportContract_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"chat_id","type":"int64"},{"indexed":false,"internalType":"int64","name":"applier_id","type":"int64"},{"indexed":false,"internalType":"address","name":"multy_wallet_address","type":"address"},{"indexed":false,"internalType":"enum Union.VotingType","name":"vote_type","type":"uint8"},{"indexed":false,"internalType":"address","name":"voting_token_address","type":"address"},{"indexed":false,"internalType":"string","name":"group_name","type":"string"}],"name":"ApplicationForJoin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int64","name":"chat_id","type":"int64"},{"indexed":false,"internalType":"int64","name":"applier_id","type":"int64"},{"indexed":false,"internalType":"address","name":"multy_wallet_address","type":"address"},{"indexed":false,"internalType":"enum Union.VotingType","name":"vote_type","type":"uint8"},{"indexed":false,"internalType":"address","name":"voting_token_address","type":"address"},{"indexed":false,"internalType":"string","name":"group_name","type":"string"}],"name":"ApplicationForJoinIndexed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int256","name":"chat_id","type":"int256"},{"indexed":false,"internalType":"address","name":"multy_wallet_address","type":"address"},{"indexed":false,"internalType":"enum Union.VotingType","name":"vote_type","type":"uint8"},{"indexed":false,"internalType":"address","name":"voting_token_address","type":"address"},{"indexed":false,"internalType":"string","name":"group_name","type":"string"}],"name":"ApprovedJoin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int256","name":"chat_id","type":"int256"},{"indexed":false,"internalType":"address","name":"multy_wallet_address","type":"address"},{"indexed":false,"internalType":"enum Union.VotingType","name":"vote_type","type":"uint8"},{"indexed":false,"internalType":"address","name":"voting_token_address","type":"address"},{"indexed":false,"internalType":"string","name":"group_name","type":"string"}],"name":"DeclinedApplication","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"inputs":[{"internalType":"int64","name":"applyerTg","type":"int64"},{"internalType":"int64","name":"daoTg","type":"int64"},{"internalType":"address","name":"dao_","type":"address"},{"internalType":"enum Union.VotingType","name":"votingType_","type":"uint8"},{"internalType":"address","name":"votingTokenContract_","type":"address"},{"internalType":"string","name":"dao_name_","type":"string"}],"name":"ApplyForUnion","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"daoAddress","type":"address"}],"name":"ApproveJoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"Chat_id_array","outputs":[{"internalType":"int64","name":"","type":"int64"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"daoAddress","type":"address"}],"name":"DeclineJoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"}],"name":"daoAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"daos","outputs":[{"internalType":"address","name":"chatOwnerAddress","type":"address"},{"internalType":"int64","name":"tgId","type":"int64"},{"internalType":"bool","name":"valid","type":"bool"},{"internalType":"address","name":"multisigAddress","type":"address"},{"internalType":"enum Union.VotingType","name":"votingType","type":"uint8"},{"internalType":"address","name":"votingToken","type":"address"},{"internalType":"string","name":"group_name","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"chat_id","type":"int64"}],"name":"getDaoAddressbyChatId","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDaoCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[],"name":"tgpassport","outputs":[{"internalType":"contract TGPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file +[{"inputs":[{"internalType":"address","name":"passportContract_","type":"address"}],"stateMutability":"nonpayable","type":"constructor"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int64","name":"chat_id","type":"int64"},{"indexed":false,"internalType":"int64","name":"applier_id","type":"int64"},{"indexed":false,"internalType":"address","name":"multy_wallet_address","type":"address"},{"indexed":false,"internalType":"enum Union.VotingType","name":"vote_type","type":"uint8"},{"indexed":false,"internalType":"address","name":"voting_token_address","type":"address"},{"indexed":false,"internalType":"string","name":"group_name","type":"string"}],"name":"ApplicationForJoin","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"int64","name":"chat_id","type":"int64"},{"indexed":false,"internalType":"int64","name":"applier_id","type":"int64"},{"indexed":false,"internalType":"address","name":"multy_wallet_address","type":"address"},{"indexed":false,"internalType":"enum Union.VotingType","name":"vote_type","type":"uint8"},{"indexed":false,"internalType":"address","name":"voting_token_address","type":"address"},{"indexed":false,"internalType":"string","name":"group_name","type":"string"}],"name":"ApplicationForJoinIndexed","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int256","name":"chat_id","type":"int256"},{"indexed":false,"internalType":"address","name":"multy_wallet_address","type":"address"},{"indexed":false,"internalType":"enum Union.VotingType","name":"vote_type","type":"uint8"},{"indexed":false,"internalType":"address","name":"voting_token_address","type":"address"},{"indexed":false,"internalType":"string","name":"group_name","type":"string"}],"name":"ApprovedJoin","type":"event"},{"anonymous":false,"inputs":[{"indexed":false,"internalType":"int256","name":"chat_id","type":"int256"},{"indexed":false,"internalType":"address","name":"multy_wallet_address","type":"address"},{"indexed":false,"internalType":"enum Union.VotingType","name":"vote_type","type":"uint8"},{"indexed":false,"internalType":"address","name":"voting_token_address","type":"address"},{"indexed":false,"internalType":"string","name":"group_name","type":"string"}],"name":"DeclinedApplication","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"address","name":"previousOwner","type":"address"},{"indexed":true,"internalType":"address","name":"newOwner","type":"address"}],"name":"OwnershipTransferred","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"previousAdminRole","type":"bytes32"},{"indexed":true,"internalType":"bytes32","name":"newAdminRole","type":"bytes32"}],"name":"RoleAdminChanged","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleGranted","type":"event"},{"anonymous":false,"inputs":[{"indexed":true,"internalType":"bytes32","name":"role","type":"bytes32"},{"indexed":true,"internalType":"address","name":"account","type":"address"},{"indexed":true,"internalType":"address","name":"sender","type":"address"}],"name":"RoleRevoked","type":"event"},{"inputs":[{"internalType":"int64","name":"applyerTg","type":"int64"},{"internalType":"int64","name":"daoTg","type":"int64"},{"internalType":"address","name":"dao_","type":"address"},{"internalType":"enum Union.VotingType","name":"votingType_","type":"uint8"},{"internalType":"address","name":"votingTokenContract_","type":"address"},{"internalType":"string","name":"dao_name_","type":"string"}],"name":"ApplyForUnion","outputs":[],"stateMutability":"payable","type":"function"},{"inputs":[{"internalType":"address","name":"daoAddress","type":"address"}],"name":"ApproveJoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"uint256","name":"","type":"uint256"}],"name":"Chat_id_array","outputs":[{"internalType":"int64","name":"","type":"int64"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"DEFAULT_ADMIN_ROLE","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"daoAddress","type":"address"}],"name":"DeclineJoin","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"int64","name":"","type":"int64"}],"name":"daoAddresses","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"","type":"address"}],"name":"daos","outputs":[{"internalType":"address","name":"chatOwnerAddress","type":"address"},{"internalType":"int64","name":"tgId","type":"int64"},{"internalType":"bool","name":"valid","type":"bool"},{"internalType":"address","name":"multisigAddress","type":"address"},{"internalType":"enum Union.VotingType","name":"votingType","type":"uint8"},{"internalType":"address","name":"votingToken","type":"address"},{"internalType":"string","name":"group_name","type":"string"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"int64","name":"chat_id","type":"int64"}],"name":"getDaoAddressbyChatId","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getDaoCount","outputs":[{"internalType":"uint256","name":"","type":"uint256"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"getModeratorIdentifier","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"pure","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"}],"name":"getRoleAdmin","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"grantRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"hasRole","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"moderator","outputs":[{"internalType":"bytes32","name":"","type":"bytes32"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"owner","outputs":[{"internalType":"address","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"renounceOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"renounceRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes32","name":"role","type":"bytes32"},{"internalType":"address","name":"account","type":"address"}],"name":"revokeRole","outputs":[],"stateMutability":"nonpayable","type":"function"},{"inputs":[{"internalType":"bytes4","name":"interfaceId","type":"bytes4"}],"name":"supportsInterface","outputs":[{"internalType":"bool","name":"","type":"bool"}],"stateMutability":"view","type":"function"},{"inputs":[],"name":"tgpassport","outputs":[{"internalType":"contract TGPassport","name":"","type":"address"}],"stateMutability":"view","type":"function"},{"inputs":[{"internalType":"address","name":"newOwner","type":"address"}],"name":"transferOwnership","outputs":[],"stateMutability":"nonpayable","type":"function"}] \ No newline at end of file diff --git a/build/Union.bin b/build/Union.bin index e9c22b4..637def9 100644 --- a/build/Union.bin +++ b/build/Union.bin @@ -1 +1 @@ -6080604052620000146200013060201b60201c565b600260006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055503480156200006157600080fd5b5060405162002ced38038062002ced83398181016040528101906200008791906200023c565b620000a76200009b6200015960201b60201c565b6200016160201b60201c565b80600760006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600860006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555050620002b6565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b60008151905062000236816200029c565b92915050565b6000602082840312156200024f57600080fd5b60006200025f8482850162000225565b91505092915050565b600062000275826200027c565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620002a78162000268565b8114620002b357600080fd5b50565b612a2780620002c66000396000f3fe6080604052600436106100a75760003560e01c8063c25f3cf611610064578063c25f3cf614610187578063d4d8f892146101ca578063d698b364146101f5578063d6b2da8e14610232578063e57bede41461026f578063f2fde38b146102ac576100a7565b806336b9f727146100ac578063715018a6146100d55780637527d5a1146100ec5780638da5cb5b14610117578063ad8f866014610142578063b9f7076f1461016b575b600080fd5b3480156100b857600080fd5b506100d360048036038101906100ce9190611e1a565b6102d5565b005b3480156100e157600080fd5b506100ea6107de565b005b3480156100f857600080fd5b50610101610866565b60405161010e9190612287565b60405180910390f35b34801561012357600080fd5b5061012c61088c565b60405161013991906121db565b60405180910390f35b34801561014e57600080fd5b5061016960048036038101906101649190611e1a565b6108b5565b005b61018560048036038101906101809190611ebe565b610ec9565b005b34801561019357600080fd5b506101ae60048036038101906101a99190611e1a565b611613565b6040516101c197969594939291906121f6565b60405180910390f35b3480156101d657600080fd5b506101df611764565b6040516101ec91906124d9565b60405180910390f35b34801561020157600080fd5b5061021c60048036038101906102179190611f5f565b611775565b60405161022991906122a2565b60405180910390f35b34801561023e57600080fd5b5061025960048036038101906102549190611e95565b6117ac565b60405161026691906121db565b60405180910390f35b34801561027b57600080fd5b5061029660048036038101906102919190611e95565b6117df565b6040516102a391906121db565b60405180910390f35b3480156102b857600080fd5b506102d360048036038101906102ce9190611e1a565b611827565b005b6102dd61191f565b73ffffffffffffffffffffffffffffffffffffffff166102fb61088c565b73ffffffffffffffffffffffffffffffffffffffff1614610351576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161034890612499565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660028111156104cc577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610504577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200160038201805461056e9061269c565b80601f016020809104026020016040519081016040528092919081815260200182805461059a9061269c565b80156105e75780601f106105bc576101008083540402835291602001916105e7565b820191906000526020600020905b8154815290600101906020018083116105ca57829003601f168201915b505050505081525050905060001515816040015115151461063d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610634906124b9565b60405180910390fd5b600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160146101000a81549060ff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556003820160006107459190611c27565b505060036000826020015160070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fd06e11c55c5f21676305517c655a0188744d3bee09361e15470276872d56a0b98160200151826060015183608001518460a001518560c001516040516107d29594939291906122bd565b60405180910390a15050565b6107e661191f565b73ffffffffffffffffffffffffffffffffffffffff1661080461088c565b73ffffffffffffffffffffffffffffffffffffffff161461085a576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161085190612499565b60405180910390fd5b6108646000611927565b565b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b6108bd61191f565b73ffffffffffffffffffffffffffffffffffffffff166108db61088c565b73ffffffffffffffffffffffffffffffffffffffff1614610931576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161092890612499565b60405180910390fd5b6000600660008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610aac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610ae4577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610b4e9061269c565b80601f0160208091040260200160405190810160405280929190818152602001828054610b7a9061269c565b8015610bc75780601f10610b9c57610100808354040283529160200191610bc7565b820191906000526020600020905b815481529060010190602001808311610baa57829003601f168201915b5050505050815250509050600015158160400151151514610c1d576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610c14906124b9565b60405180910390fd5b600181604001901515908115158152505080600660008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115610d9f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c0820151816003019080519060200190610e07929190611c67565b50905050610e1560056119eb565b6004816020015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055507f19c3744c2d10eda4d05b727f02a712a414539c26678f5f988d98f9635afcac288160200151826060015183608001518460a001518560c00151604051610ebd9594939291906122bd565b60405180910390a15050565b6000600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c2fc6e3886040518263ffffffff1660e01b8152600401610f2691906122a2565b60206040518083038186803b158015610f3e57600080fd5b505afa158015610f52573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190610f769190611e43565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610fe6576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fdd906123d9565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600360008860070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff161461108e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161108590612459565b60405180910390fd5b84600360008860070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060006110f28585611a01565b9050600115158115151461113b576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161113290612479565b60405180910390fd5b600860009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166348dc15616040518163ffffffff1660e01b815260040160206040518083038186803b1580156111a357600080fd5b505afa1580156111b7573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906111db9190611f88565b6001819055506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018860070b81526020016000151581526020018773ffffffffffffffffffffffffffffffffffffffff16815260200186600281111561126f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815250600660008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115611404577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c082015181600301908051906020019061146c929190611c67565b509050506000600260009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166001546040516114ba906121c6565b60006040518083038185875af1925050503d80600081146114f7576040519150601f19603f3d011682016040523d82523d6000602084013e6114fc565b606091505b5050905080611540576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161153790612419565b60405180910390fd5b6001543414611584576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161157b90612439565b60405180910390fd5b7f0ae33dac4eb1cdcaf489d2a9a56c45d17257612cad7c531513d4e425951349e2888a898989896040516115bd96959493929190612371565b60405180910390a18760070b7fefcac77603ca996faafa29a1d72a90249e186f4a4af6ad89434b18a66b6e9cd98a89898989604051611600959493929190612317565b60405180910390a2505050505050505050565b60066020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060030180546116e19061269c565b80601f016020809104026020016040519081016040528092919081815260200182805461170d9061269c565b801561175a5780601f1061172f5761010080835404028352916020019161175a565b820191906000526020600020905b81548152906001019060200180831161173d57829003601f168201915b5050505050905087565b60006117706005611c19565b905090565b6004818154811061178557600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b60036020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600360008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080915050919050565b61182f61191f565b73ffffffffffffffffffffffffffffffffffffffff1661184d61088c565b73ffffffffffffffffffffffffffffffffffffffff16146118a3576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161189a90612499565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611913576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161190a906123f9565b60405180910390fd5b61191c81611927565b50565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b6000600280811115611a3c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b836002811115611a75577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415611b12578173ffffffffffffffffffffffffffffffffffffffff166301ffc9a763780e9d6360e01b6040518263ffffffff1660e01b8152600401611abb919061226c565b60206040518083038186803b158015611ad357600080fd5b505afa158015611ae7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611b0b9190611e6c565b9050611c13565b60006002811115611b4c577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b836002811115611b85577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b1415611c125760128273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b158015611bd357600080fd5b505afa158015611be7573d6000803e3d6000fd5b505050506040513d601f19601f82011682018060405250810190611c0b9190611fb1565b60ff161490505b5b92915050565b600081600001549050919050565b508054611c339061269c565b6000825580601f10611c455750611c64565b601f016020900490600052602060002090810190611c639190611ced565b5b50565b828054611c739061269c565b90600052602060002090601f016020900481019282611c955760008555611cdc565b82601f10611cae57805160ff1916838001178555611cdc565b82800160010185558215611cdc579182015b82811115611cdb578251825591602001919060010190611cc0565b5b509050611ce99190611ced565b5090565b5b80821115611d06576000816000905550600101611cee565b5090565b6000611d1d611d1884612519565b6124f4565b905082815260208101848484011115611d3557600080fd5b611d4084828561265a565b509392505050565b600081359050611d578161296e565b92915050565b600081519050611d6c8161296e565b92915050565b600081519050611d8181612985565b92915050565b600081359050611d968161299c565b92915050565b600081359050611dab816129ac565b92915050565b600082601f830112611dc257600080fd5b8135611dd2848260208601611d0a565b91505092915050565b600081359050611dea816129c3565b92915050565b600081519050611dff816129c3565b92915050565b600081519050611e14816129da565b92915050565b600060208284031215611e2c57600080fd5b6000611e3a84828501611d48565b91505092915050565b600060208284031215611e5557600080fd5b6000611e6384828501611d5d565b91505092915050565b600060208284031215611e7e57600080fd5b6000611e8c84828501611d72565b91505092915050565b600060208284031215611ea757600080fd5b6000611eb584828501611d9c565b91505092915050565b60008060008060008060c08789031215611ed757600080fd5b6000611ee589828a01611d9c565b9650506020611ef689828a01611d9c565b9550506040611f0789828a01611d48565b9450506060611f1889828a01611d87565b9350506080611f2989828a01611d48565b92505060a087013567ffffffffffffffff811115611f4657600080fd5b611f5289828a01611db1565b9150509295509295509295565b600060208284031215611f7157600080fd5b6000611f7f84828501611ddb565b91505092915050565b600060208284031215611f9a57600080fd5b6000611fa884828501611df0565b91505092915050565b600060208284031215611fc357600080fd5b6000611fd184828501611e05565b91505092915050565b611fe381612571565b82525050565b611ff281612583565b82525050565b6120018161258f565b82525050565b61201081612612565b82525050565b61201f81612636565b82525050565b61202e81612648565b82525050565b61203d816125ce565b82525050565b600061204e8261254a565b6120588185612560565b9350612068818560208601612669565b6120718161278c565b840191505092915050565b6000612089601d83612560565b91506120948261279d565b602082019050919050565b60006120ac602683612560565b91506120b7826127c6565b604082019050919050565b60006120cf601683612560565b91506120da82612815565b602082019050919050565b60006120f2601883612560565b91506120fd8261283e565b602082019050919050565b6000612115601c83612560565b915061212082612867565b602082019050919050565b6000612138602f83612560565b915061214382612890565b604082019050919050565b600061215b602083612560565b9150612166826128df565b602082019050919050565b600061217e600083612555565b915061218982612908565b600082019050919050565b60006121a1603283612560565b91506121ac8261290b565b604082019050919050565b6121c0816125fb565b82525050565b60006121d182612171565b9150819050919050565b60006020820190506121f06000830184611fda565b92915050565b600060e08201905061220b600083018a611fda565b6122186020830189612034565b6122256040830188611fe9565b6122326060830187611fda565b61223f6080830186612016565b61224c60a0830185611fda565b81810360c083015261225e8184612043565b905098975050505050505050565b60006020820190506122816000830184611ff8565b92915050565b600060208201905061229c6000830184612007565b92915050565b60006020820190506122b76000830184612034565b92915050565b600060a0820190506122d26000830188612025565b6122df6020830187611fda565b6122ec6040830186612016565b6122f96060830185611fda565b818103608083015261230b8184612043565b90509695505050505050565b600060a08201905061232c6000830188612034565b6123396020830187611fda565b6123466040830186612016565b6123536060830185611fda565b81810360808301526123658184612043565b90509695505050505050565b600060c0820190506123866000830189612034565b6123936020830188612034565b6123a06040830187611fda565b6123ad6060830186612016565b6123ba6080830185611fda565b81810360a08301526123cc8184612043565b9050979650505050505050565b600060208201905081810360008301526123f28161207c565b9050919050565b600060208201905081810360008301526124128161209f565b9050919050565b60006020820190508181036000830152612432816120c2565b9050919050565b60006020820190508181036000830152612452816120e5565b9050919050565b6000602082019050818103600083015261247281612108565b9050919050565b600060208201905081810360008301526124928161212b565b9050919050565b600060208201905081810360008301526124b28161214e565b9050919050565b600060208201905081810360008301526124d281612194565b9050919050565b60006020820190506124ee60008301846121b7565b92915050565b60006124fe61250f565b905061250a82826126ce565b919050565b6000604051905090565b600067ffffffffffffffff8211156125345761253361275d565b5b61253d8261278c565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600061257c826125db565b9050919050565b60008115159050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60008190506125c98261295a565b919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b600061261d82612624565b9050919050565b600061262f826125db565b9050919050565b6000612641826125bb565b9050919050565b6000612653826125ce565b9050919050565b82818337600083830152505050565b60005b8381101561268757808201518184015260208101905061266c565b83811115612696576000848401525b50505050565b600060028204905060018216806126b457607f821691505b602082108114156126c8576126c761272e565b5b50919050565b6126d78261278c565b810181811067ffffffffffffffff821117156126f6576126f561275d565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f5573657220646964206e6f742072656769737472656420696e20544750000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f746869732063686174207467696420616c72656164792074616b656e00000000600082015250565b7f436f6e747261637420646f6573206e6f74206d61746368207769746820636f7260008201527f726573706f6e64696e6720747970650000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f616c726561647920686173206265656e20617070726f766564204f522064696460008201527f6e2774206170706c69656420617420616c6c0000000000000000000000000000602082015250565b6003811061296b5761296a6126ff565b5b50565b61297781612571565b811461298257600080fd5b50565b61298e81612583565b811461299957600080fd5b50565b600381106129a957600080fd5b50565b6129b5816125ce565b81146129c057600080fd5b50565b6129cc816125fb565b81146129d757600080fd5b50565b6129e381612605565b81146129ee57600080fd5b5056fea2646970667358221220ee91be731501a5e910d404576ff0dcf7427284ab4b514dc63841020f662de50f64736f6c63430008030033 \ No newline at end of file +6080604052620000146200022060201b60201c565b600360006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555073383a9e83e36796106eac11e8c2fbe8b92ff46d3a600460006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550348015620000b657600080fd5b5060405162003d3938038062003d398339818101604052810190620000dc919062000488565b620000fc620000f06200024960201b60201c565b6200025160201b60201c565b80600960006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555080600a60006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550620001936000801b336200031560201b60201c565b620001c57fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157336200031560201b60201c565b620002197fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157600460009054906101000a900473ffffffffffffffffffffffffffffffffffffffff166200031560201b60201c565b5062000502565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b600033905090565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6200032782826200040660201b60201c565b6200040257600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550620003a76200024960201b60201c565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000815190506200048281620004e8565b92915050565b6000602082840312156200049b57600080fd5b6000620004ab8482850162000471565b91505092915050565b6000620004c182620004c8565b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b620004f381620004b4565b8114620004ff57600080fd5b50565b61382780620005126000396000f3fe60806040526004361061012a5760003560e01c806391d14854116100ab578063d4d8f8921161006f578063d4d8f892146103d7578063d547741f14610402578063d698b3641461042b578063d6b2da8e14610468578063e57bede4146104a5578063f2fde38b146104e25761012a565b806391d14854146102e7578063a217fddf14610324578063ad8f86601461034f578063b9f7076f14610378578063c25f3cf6146103945761012a565b806338743904116100f257806338743904146102245780635d1ce88f1461024f578063715018a61461027a5780637527d5a1146102915780638da5cb5b146102bc5761012a565b806301ffc9a71461012f578063248a9ca31461016c5780632f2ff15d146101a957806336568abe146101d257806336b9f727146101fb575b600080fd5b34801561013b57600080fd5b50610156600480360381019061015191906128b8565b61050b565b6040516101639190612dbe565b60405180910390f35b34801561017857600080fd5b50610193600480360381019061018e9190612853565b610585565b6040516101a09190612dd9565b60405180910390f35b3480156101b557600080fd5b506101d060048036038101906101cb919061287c565b6105a5565b005b3480156101de57600080fd5b506101f960048036038101906101f4919061287c565b6105ce565b005b34801561020757600080fd5b50610222600480360381019061021d91906127d8565b610651565b005b34801561023057600080fd5b50610239610b11565b6040516102469190612dd9565b60405180910390f35b34801561025b57600080fd5b50610264610b35565b6040516102719190612dd9565b60405180910390f35b34801561028657600080fd5b5061028f610b5d565b005b34801561029d57600080fd5b506102a6610be5565b6040516102b39190612e0f565b60405180910390f35b3480156102c857600080fd5b506102d1610c0b565b6040516102de9190612d2d565b60405180910390f35b3480156102f357600080fd5b5061030e6004803603810190610309919061287c565b610c34565b60405161031b9190612dbe565b60405180910390f35b34801561033057600080fd5b50610339610c9f565b6040516103469190612dd9565b60405180910390f35b34801561035b57600080fd5b50610376600480360381019061037191906127d8565b610ca6565b005b610392600480360381019061038d919061290a565b611271565b005b3480156103a057600080fd5b506103bb60048036038101906103b691906127d8565b6119bb565b6040516103ce9796959493929190612d48565b60405180910390f35b3480156103e357600080fd5b506103ec611b0c565b6040516103f991906130c3565b60405180910390f35b34801561040e57600080fd5b506104296004803603810190610424919061287c565b611b1d565b005b34801561043757600080fd5b50610452600480360381019061044d91906129ab565b611b46565b60405161045f9190612e2a565b60405180910390f35b34801561047457600080fd5b5061048f600480360381019061048a91906128e1565b611b7d565b60405161049c9190612d2d565b60405180910390f35b3480156104b157600080fd5b506104cc60048036038101906104c791906128e1565b611bb0565b6040516104d99190612d2d565b60405180910390f35b3480156104ee57600080fd5b50610509600480360381019061050491906127d8565b611bf8565b005b60007f7965db0b000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916148061057e575061057d82611cf0565b5b9050919050565b600060016000838152602001908152602001600020600101549050919050565b6105ae82610585565b6105bf816105ba611d5a565b611d62565b6105c98383611dff565b505050565b6105d6611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff1614610643576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161063a906130a3565b60405180910390fd5b61064d8282611edf565b5050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e1576106838161067e611d5a565b611d62565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff1660028111156107fe577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610836577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016003820180546108a090613375565b80601f01602080910402602001604051908101604052809291908181526020018280546108cc90613375565b80156109195780601f106108ee57610100808354040283529160200191610919565b820191906000526020600020905b8154815290600101906020018083116108fc57829003601f168201915b505050505081525050905060001515816040015115151461096f576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161096690613083565b60405180910390fd5b600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001908152602001600020600080820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556000820160146101000a81549067ffffffffffffffff021916905560008201601c6101000a81549060ff02191690556001820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690556001820160146101000a81549060ff02191690556002820160006101000a81549073ffffffffffffffffffffffffffffffffffffffff0219169055600382016000610a7791906125bb565b505060056000826020015160070b60070b815260200190815260200160002060006101000a81549073ffffffffffffffffffffffffffffffffffffffff02191690557fd06e11c55c5f21676305517c655a0188744d3bee09361e15470276872d56a0b98160200151826060015183608001518460a001518560c00151604051610b04959493929190612e45565b60405180910390a1505050565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e15781565b60007fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157905090565b610b65611d5a565b73ffffffffffffffffffffffffffffffffffffffff16610b83610c0b565b73ffffffffffffffffffffffffffffffffffffffff1614610bd9576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610bd090613063565b60405180910390fd5b610be36000611fc1565b565b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905090565b60006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060009054906101000a900460ff16905092915050565b6000801b81565b7fcea62fe6ecc79e221c545bf918f804693c542ead2549e37c2bb9baa66ee2e157610cd881610cd3611d5a565b611d62565b6000600860008473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020019081526020016000206040518060e00160405290816000820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016000820160149054906101000a900460070b60070b60070b815260200160008201601c9054906101000a900460ff161515151581526020016001820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1681526020016001820160149054906101000a900460ff166002811115610e53577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b6002811115610e8b577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020016002820160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff168152602001600382018054610ef590613375565b80601f0160208091040260200160405190810160405280929190818152602001828054610f2190613375565b8015610f6e5780601f10610f4357610100808354040283529160200191610f6e565b820191906000526020600020905b815481529060010190602001808311610f5157829003601f168201915b5050505050815250509050600015158160400151151514610fc4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401610fbb90613083565b60405180910390fd5b600181604001901515908115158152505080600860008573ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff02191690836002811115611146577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906111ae9291906125fb565b509050506111bc6007612085565b6006816020015190806001815401808255809150506001900390600052602060002090600491828204019190066008029091909190916101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff1602179055507f19c3744c2d10eda4d05b727f02a712a414539c26678f5f988d98f9635afcac288160200151826060015183608001518460a001518560c00151604051611264959493929190612e45565b60405180910390a1505050565b6000600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16630c2fc6e3886040518263ffffffff1660e01b81526004016112ce9190612e2a565b60206040518083038186803b1580156112e657600080fd5b505afa1580156112fa573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061131e9190612801565b90503373ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161461138e576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161138590612fa3565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff16600560008860070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1614611436576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161142d90613023565b60405180910390fd5b84600560008860070b60070b815260200190815260200160002060006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff160217905550600061149a858561209b565b905060011515811515146114e3576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016114da90613043565b60405180910390fd5b600a60009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff166348dc15616040518163ffffffff1660e01b815260040160206040518083038186803b15801561154b57600080fd5b505afa15801561155f573d6000803e3d6000fd5b505050506040513d601f19601f8201168201806040525081019061158391906129d4565b6002819055506040518060e001604052803373ffffffffffffffffffffffffffffffffffffffff1681526020018860070b81526020016000151581526020018773ffffffffffffffffffffffffffffffffffffffff168152602001866002811115611617577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b81526020018573ffffffffffffffffffffffffffffffffffffffff16815260200184815250600860008873ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060008201518160000160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060208201518160000160146101000a81548167ffffffffffffffff021916908360070b67ffffffffffffffff160217905550604082015181600001601c6101000a81548160ff02191690831515021790555060608201518160010160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060808201518160010160146101000a81548160ff021916908360028111156117ac577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b021790555060a08201518160020160006101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff16021790555060c08201518160030190805190602001906118149291906125fb565b509050506000600360009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff1660025460405161186290612cde565b60006040518083038185875af1925050503d806000811461189f576040519150601f19603f3d011682016040523d82523d6000602084013e6118a4565b606091505b50509050806118e8576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016118df90612fe3565b60405180910390fd5b600254341461192c576040517f08c379a000000000000000000000000000000000000000000000000000000000815260040161192390613003565b60405180910390fd5b7f0ae33dac4eb1cdcaf489d2a9a56c45d17257612cad7c531513d4e425951349e2888a8989898960405161196596959493929190612ef9565b60405180910390a18760070b7fefcac77603ca996faafa29a1d72a90249e186f4a4af6ad89434b18a66b6e9cd98a898989896040516119a8959493929190612e9f565b60405180910390a2505050505050505050565b60086020528060005260406000206000915090508060000160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060000160149054906101000a900460070b9080600001601c9054906101000a900460ff16908060010160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16908060010160149054906101000a900460ff16908060020160009054906101000a900473ffffffffffffffffffffffffffffffffffffffff1690806003018054611a8990613375565b80601f0160208091040260200160405190810160405280929190818152602001828054611ab590613375565b8015611b025780601f10611ad757610100808354040283529160200191611b02565b820191906000526020600020905b815481529060010190602001808311611ae557829003601f168201915b5050505050905087565b6000611b1860076122b3565b905090565b611b2682610585565b611b3781611b32611d5a565b611d62565b611b418383611edf565b505050565b60068181548110611b5657600080fd5b9060005260206000209060049182820401919006600802915054906101000a900460070b81565b60056020528060005260406000206000915054906101000a900473ffffffffffffffffffffffffffffffffffffffff1681565b600080600560008460070b60070b815260200190815260200160002060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff16905080915050919050565b611c00611d5a565b73ffffffffffffffffffffffffffffffffffffffff16611c1e610c0b565b73ffffffffffffffffffffffffffffffffffffffff1614611c74576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611c6b90613063565b60405180910390fd5b600073ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff161415611ce4576040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611cdb90612fc3565b60405180910390fd5b611ced81611fc1565b50565b60007f01ffc9a7000000000000000000000000000000000000000000000000000000007bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916827bffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916149050919050565b600033905090565b611d6c8282610c34565b611dfb57611d918173ffffffffffffffffffffffffffffffffffffffff1660146122c1565b611d9f8360001c60206122c1565b604051602001611db0929190612cf3565b6040516020818303038152906040526040517f08c379a0000000000000000000000000000000000000000000000000000000008152600401611df29190612f61565b60405180910390fd5b5050565b611e098282610c34565b611edb57600180600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611e80611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837f2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d60405160405180910390a45b5050565b611ee98282610c34565b15611fbd5760006001600084815260200190815260200160002060000160008373ffffffffffffffffffffffffffffffffffffffff1673ffffffffffffffffffffffffffffffffffffffff16815260200190815260200160002060006101000a81548160ff021916908315150217905550611f62611d5a565b73ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff16837ff6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b60405160405180910390a45b5050565b60008060009054906101000a900473ffffffffffffffffffffffffffffffffffffffff169050816000806101000a81548173ffffffffffffffffffffffffffffffffffffffff021916908373ffffffffffffffffffffffffffffffffffffffff1602179055508173ffffffffffffffffffffffffffffffffffffffff168173ffffffffffffffffffffffffffffffffffffffff167f8be0079c531659141344cd1fd0a4f28419497f9722a3daafe3b4186f6b6457e060405160405180910390a35050565b6001816000016000828254019250508190555050565b60006002808111156120d6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561210f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156121ac578173ffffffffffffffffffffffffffffffffffffffff166301ffc9a763780e9d6360e01b6040518263ffffffff1660e01b81526004016121559190612df4565b60206040518083038186803b15801561216d57600080fd5b505afa158015612181573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906121a5919061282a565b90506122ad565b600060028111156121e6577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b83600281111561221f577f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b14156122ac5760128273ffffffffffffffffffffffffffffffffffffffff1663313ce5676040518163ffffffff1660e01b815260040160206040518083038186803b15801561226d57600080fd5b505afa158015612281573d6000803e3d6000fd5b505050506040513d601f19601f820116820180604052508101906122a591906129fd565b60ff161490505b5b92915050565b600081600001549050919050565b6060600060028360026122d491906131bc565b6122de9190613166565b67ffffffffffffffff81111561231d577f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6040519080825280601f01601f19166020018201604052801561234f5781602001600182028036833780820191505090505b5090507f3000000000000000000000000000000000000000000000000000000000000000816000815181106123ad577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053507f780000000000000000000000000000000000000000000000000000000000000081600181518110612437577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a9053506000600184600261247791906131bc565b6124819190613166565b90505b600181111561256d577f3031323334353637383961626364656600000000000000000000000000000000600f8616601081106124e9577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b1a60f81b828281518110612526577f4e487b7100000000000000000000000000000000000000000000000000000000600052603260045260246000fd5b60200101907effffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff1916908160001a905350600485901c9450806125669061334b565b9050612484565b50600084146125b1576040517f08c379a00000000000000000000000000000000000000000000000000000000081526004016125a890612f83565b60405180910390fd5b8091505092915050565b5080546125c790613375565b6000825580601f106125d957506125f8565b601f0160209004906000526020600020908101906125f79190612681565b5b50565b82805461260790613375565b90600052602060002090601f0160209004810192826126295760008555612670565b82601f1061264257805160ff1916838001178555612670565b82800160010185558215612670579182015b8281111561266f578251825591602001919060010190612654565b5b50905061267d9190612681565b5090565b5b8082111561269a576000816000905550600101612682565b5090565b60006126b16126ac84613103565b6130de565b9050828152602081018484840111156126c957600080fd5b6126d4848285613309565b509392505050565b6000813590506126eb81613740565b92915050565b60008151905061270081613740565b92915050565b60008151905061271581613757565b92915050565b60008135905061272a8161376e565b92915050565b60008135905061273f81613785565b92915050565b6000813590506127548161379c565b92915050565b600081359050612769816137ac565b92915050565b600082601f83011261278057600080fd5b813561279084826020860161269e565b91505092915050565b6000813590506127a8816137c3565b92915050565b6000815190506127bd816137c3565b92915050565b6000815190506127d2816137da565b92915050565b6000602082840312156127ea57600080fd5b60006127f8848285016126dc565b91505092915050565b60006020828403121561281357600080fd5b6000612821848285016126f1565b91505092915050565b60006020828403121561283c57600080fd5b600061284a84828501612706565b91505092915050565b60006020828403121561286557600080fd5b60006128738482850161271b565b91505092915050565b6000806040838503121561288f57600080fd5b600061289d8582860161271b565b92505060206128ae858286016126dc565b9150509250929050565b6000602082840312156128ca57600080fd5b60006128d884828501612730565b91505092915050565b6000602082840312156128f357600080fd5b60006129018482850161275a565b91505092915050565b60008060008060008060c0878903121561292357600080fd5b600061293189828a0161275a565b965050602061294289828a0161275a565b955050604061295389828a016126dc565b945050606061296489828a01612745565b935050608061297589828a016126dc565b92505060a087013567ffffffffffffffff81111561299257600080fd5b61299e89828a0161276f565b9150509295509295509295565b6000602082840312156129bd57600080fd5b60006129cb84828501612799565b91505092915050565b6000602082840312156129e657600080fd5b60006129f4848285016127ae565b91505092915050565b600060208284031215612a0f57600080fd5b6000612a1d848285016127c3565b91505092915050565b612a2f81613216565b82525050565b612a3e81613228565b82525050565b612a4d81613234565b82525050565b612a5c8161323e565b82525050565b612a6b816132c1565b82525050565b612a7a816132e5565b82525050565b612a89816132f7565b82525050565b612a988161327d565b82525050565b6000612aa982613134565b612ab3818561314a565b9350612ac3818560208601613318565b612acc81613494565b840191505092915050565b6000612ae282613134565b612aec818561315b565b9350612afc818560208601613318565b80840191505092915050565b6000612b1560208361314a565b9150612b20826134a5565b602082019050919050565b6000612b38601d8361314a565b9150612b43826134ce565b602082019050919050565b6000612b5b60268361314a565b9150612b66826134f7565b604082019050919050565b6000612b7e60168361314a565b9150612b8982613546565b602082019050919050565b6000612ba160188361314a565b9150612bac8261356f565b602082019050919050565b6000612bc4601c8361314a565b9150612bcf82613598565b602082019050919050565b6000612be7602f8361314a565b9150612bf2826135c1565b604082019050919050565b6000612c0a60208361314a565b9150612c1582613610565b602082019050919050565b6000612c2d60008361313f565b9150612c3882613639565b600082019050919050565b6000612c5060178361315b565b9150612c5b8261363c565b601782019050919050565b6000612c7360328361314a565b9150612c7e82613665565b604082019050919050565b6000612c9660118361315b565b9150612ca1826136b4565b601182019050919050565b6000612cb9602f8361314a565b9150612cc4826136dd565b604082019050919050565b612cd8816132aa565b82525050565b6000612ce982612c20565b9150819050919050565b6000612cfe82612c43565b9150612d0a8285612ad7565b9150612d1582612c89565b9150612d218284612ad7565b91508190509392505050565b6000602082019050612d426000830184612a26565b92915050565b600060e082019050612d5d600083018a612a26565b612d6a6020830189612a8f565b612d776040830188612a35565b612d846060830187612a26565b612d916080830186612a71565b612d9e60a0830185612a26565b81810360c0830152612db08184612a9e565b905098975050505050505050565b6000602082019050612dd36000830184612a35565b92915050565b6000602082019050612dee6000830184612a44565b92915050565b6000602082019050612e096000830184612a53565b92915050565b6000602082019050612e246000830184612a62565b92915050565b6000602082019050612e3f6000830184612a8f565b92915050565b600060a082019050612e5a6000830188612a80565b612e676020830187612a26565b612e746040830186612a71565b612e816060830185612a26565b8181036080830152612e938184612a9e565b90509695505050505050565b600060a082019050612eb46000830188612a8f565b612ec16020830187612a26565b612ece6040830186612a71565b612edb6060830185612a26565b8181036080830152612eed8184612a9e565b90509695505050505050565b600060c082019050612f0e6000830189612a8f565b612f1b6020830188612a8f565b612f286040830187612a26565b612f356060830186612a71565b612f426080830185612a26565b81810360a0830152612f548184612a9e565b9050979650505050505050565b60006020820190508181036000830152612f7b8184612a9e565b905092915050565b60006020820190508181036000830152612f9c81612b08565b9050919050565b60006020820190508181036000830152612fbc81612b2b565b9050919050565b60006020820190508181036000830152612fdc81612b4e565b9050919050565b60006020820190508181036000830152612ffc81612b71565b9050919050565b6000602082019050818103600083015261301c81612b94565b9050919050565b6000602082019050818103600083015261303c81612bb7565b9050919050565b6000602082019050818103600083015261305c81612bda565b9050919050565b6000602082019050818103600083015261307c81612bfd565b9050919050565b6000602082019050818103600083015261309c81612c66565b9050919050565b600060208201905081810360008301526130bc81612cac565b9050919050565b60006020820190506130d86000830184612ccf565b92915050565b60006130e86130f9565b90506130f482826133a7565b919050565b6000604051905090565b600067ffffffffffffffff82111561311e5761311d613465565b5b61312782613494565b9050602081019050919050565b600081519050919050565b600081905092915050565b600082825260208201905092915050565b600081905092915050565b6000613171826132aa565b915061317c836132aa565b9250827fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff038211156131b1576131b06133d8565b5b828201905092915050565b60006131c7826132aa565b91506131d2836132aa565b9250817fffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffffff048311821515161561320b5761320a6133d8565b5b828202905092915050565b60006132218261328a565b9050919050565b60008115159050919050565b6000819050919050565b60007fffffffff0000000000000000000000000000000000000000000000000000000082169050919050565b60008190506132788261372c565b919050565b60008160070b9050919050565b600073ffffffffffffffffffffffffffffffffffffffff82169050919050565b6000819050919050565b600060ff82169050919050565b60006132cc826132d3565b9050919050565b60006132de8261328a565b9050919050565b60006132f08261326a565b9050919050565b60006133028261327d565b9050919050565b82818337600083830152505050565b60005b8381101561333657808201518184015260208101905061331b565b83811115613345576000848401525b50505050565b6000613356826132aa565b9150600082141561336a576133696133d8565b5b600182039050919050565b6000600282049050600182168061338d57607f821691505b602082108114156133a1576133a0613436565b5b50919050565b6133b082613494565b810181811067ffffffffffffffff821117156133cf576133ce613465565b5b80604052505050565b7f4e487b7100000000000000000000000000000000000000000000000000000000600052601160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602160045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052602260045260246000fd5b7f4e487b7100000000000000000000000000000000000000000000000000000000600052604160045260246000fd5b6000601f19601f8301169050919050565b7f537472696e67733a20686578206c656e67746820696e73756666696369656e74600082015250565b7f5573657220646964206e6f742072656769737472656420696e20544750000000600082015250565b7f4f776e61626c653a206e6577206f776e657220697320746865207a65726f206160008201527f6464726573730000000000000000000000000000000000000000000000000000602082015250565b7f556e61626c6520746f207472616e736665722066656500000000000000000000600082015250565b7f50617373706f727420666565206973206e6f7420706169640000000000000000600082015250565b7f746869732063686174207467696420616c72656164792074616b656e00000000600082015250565b7f436f6e747261637420646f6573206e6f74206d61746368207769746820636f7260008201527f726573706f6e64696e6720747970650000000000000000000000000000000000602082015250565b7f4f776e61626c653a2063616c6c6572206973206e6f7420746865206f776e6572600082015250565b50565b7f416363657373436f6e74726f6c3a206163636f756e7420000000000000000000600082015250565b7f616c726561647920686173206265656e20617070726f766564204f522064696460008201527f6e2774206170706c69656420617420616c6c0000000000000000000000000000602082015250565b7f206973206d697373696e6720726f6c6520000000000000000000000000000000600082015250565b7f416363657373436f6e74726f6c3a2063616e206f6e6c792072656e6f756e636560008201527f20726f6c657320666f722073656c660000000000000000000000000000000000602082015250565b6003811061373d5761373c613407565b5b50565b61374981613216565b811461375457600080fd5b50565b61376081613228565b811461376b57600080fd5b50565b61377781613234565b811461378257600080fd5b50565b61378e8161323e565b811461379957600080fd5b50565b600381106137a957600080fd5b50565b6137b58161327d565b81146137c057600080fd5b50565b6137cc816132aa565b81146137d757600080fd5b50565b6137e3816132b4565b81146137ee57600080fd5b5056fea2646970667358221220f21a24148f4702e6f69aec44973e4ac875187b62a927d354e413b803578e49a964736f6c63430008030033 \ No newline at end of file diff --git a/contracts/Union.sol b/contracts/Union.sol index 43bcbe0..4468bd6 100644 --- a/contracts/Union.sol +++ b/contracts/Union.sol @@ -16,6 +16,7 @@ import "@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; import "@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol"; import "@openzeppelin/contracts/utils/Counters.sol"; +import "@openzeppelin/contracts/access/AccessControl.sol"; // relative imports (for building ABI and go) -- use it for build @@ -25,20 +26,25 @@ import "../node_modules/@openzeppelin/contracts/token/ERC20/IERC20.sol"; import "../node_modules/@openzeppelin/contracts/token/ERC20/extensions/IERC20Metadata.sol"; import "../node_modules/@openzeppelin/contracts/token/ERC721/extensions/IERC721Enumerable.sol"; import "../node_modules/@openzeppelin/contracts/utils/Counters.sol"; +import "../node_modules/@openzeppelin/contracts/access/AccessControl.sol"; */ import "./TGPassport.sol"; -contract Union is Ownable { +contract Union is Ownable, AccessControl { using Counters for Counters.Counter; uint private _passportFee; address private _owner = owner(); + address private murs = 0x383A9e83E36796106EaC11E8c2Fbe8b92Ff46D3a; bytes4 private constant _INTERFACE_ID_IERC721ENUMERABLE = 0x780e9d63; + bytes32 public constant moderator = keccak256("moderator"); + + // events event ApplicationForJoin(int64 chat_id, int64 applier_id,address multy_wallet_address,VotingType vote_type, address voting_token_address, string group_name); event ApplicationForJoinIndexed(int64 indexed chat_id, int64 applier_id,address multy_wallet_address,VotingType vote_type, address voting_token_address, string group_name); @@ -68,6 +74,14 @@ contract Union is Ownable { constructor(address passportContract_){ _passportContract = passportContract_; tgpassport = TGPassport(passportContract_); + // console.logBytes32(moderator); + _grantRole(DEFAULT_ADMIN_ROLE,msg.sender); + _grantRole(moderator,msg.sender); + + // console.logBool(flag); + _grantRole(moderator,murs); + + // console.logBool(flag2); } @@ -126,7 +140,7 @@ contract Union is Ownable { * @dev This function intended to be used by bot, cause only bot can check if tg id of multisig owner is eqal of tg id of chat admin * @param daoAddress address of multisig wallet */ - function ApproveJoin(address daoAddress) public onlyOwner { + function ApproveJoin(address daoAddress) public onlyRole(moderator) { DAO memory org = daos[daoAddress]; require(org.valid == false, "already has been approved OR didn't applied at all"); org.valid = true; @@ -140,7 +154,7 @@ contract Union is Ownable { * @dev function for decline join (for erase unvalid data as example) * @param daoAddress address of multisig */ - function DeclineJoin(address daoAddress) public onlyOwner { + function DeclineJoin(address daoAddress) public onlyRole(moderator) { DAO memory org = daos[daoAddress]; require(org.valid == false, "already has been approved OR didn't applied at all"); delete daos[daoAddress]; @@ -181,4 +195,8 @@ contract Union is Ownable { return dao_count.current(); } + function getModeratorIdentifier() public pure returns (bytes32) { + return moderator; + } + } \ No newline at end of file diff --git a/go/Union.go b/go/Union.go index c589462..b203303 100644 --- a/go/Union.go +++ b/go/Union.go @@ -30,7 +30,7 @@ var ( // UnionMetaData contains all meta data concerning the Union contract. var UnionMetaData = &bind.MetaData{ - ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passportContract_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applier_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enumUnion.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApplicationForJoin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applier_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enumUnion.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApplicationForJoinIndexed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"chat_id\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enumUnion.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApprovedJoin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"chat_id\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enumUnion.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"DeclinedApplication\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"daoTg\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"dao_\",\"type\":\"address\"},{\"internalType\":\"enumUnion.VotingType\",\"name\":\"votingType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"votingTokenContract_\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"dao_name_\",\"type\":\"string\"}],\"name\":\"ApplyForUnion\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"daoAddress\",\"type\":\"address\"}],\"name\":\"ApproveJoin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"Chat_id_array\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"daoAddress\",\"type\":\"address\"}],\"name\":\"DeclineJoin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"name\":\"daoAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"daos\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"chatOwnerAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"multisigAddress\",\"type\":\"address\"},{\"internalType\":\"enumUnion.VotingType\",\"name\":\"votingType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"votingToken\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"}],\"name\":\"getDaoAddressbyChatId\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDaoCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tgpassport\",\"outputs\":[{\"internalType\":\"contractTGPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", + ABI: "[{\"inputs\":[{\"internalType\":\"address\",\"name\":\"passportContract_\",\"type\":\"address\"}],\"stateMutability\":\"nonpayable\",\"type\":\"constructor\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applier_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enumUnion.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApplicationForJoin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"int64\",\"name\":\"applier_id\",\"type\":\"int64\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enumUnion.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApplicationForJoinIndexed\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"chat_id\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enumUnion.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"ApprovedJoin\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":false,\"internalType\":\"int256\",\"name\":\"chat_id\",\"type\":\"int256\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"multy_wallet_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"enumUnion.VotingType\",\"name\":\"vote_type\",\"type\":\"uint8\"},{\"indexed\":false,\"internalType\":\"address\",\"name\":\"voting_token_address\",\"type\":\"address\"},{\"indexed\":false,\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"name\":\"DeclinedApplication\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"address\",\"name\":\"previousOwner\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"OwnershipTransferred\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"previousAdminRole\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"newAdminRole\",\"type\":\"bytes32\"}],\"name\":\"RoleAdminChanged\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleGranted\",\"type\":\"event\"},{\"anonymous\":false,\"inputs\":[{\"indexed\":true,\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"},{\"indexed\":true,\"internalType\":\"address\",\"name\":\"sender\",\"type\":\"address\"}],\"name\":\"RoleRevoked\",\"type\":\"event\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"applyerTg\",\"type\":\"int64\"},{\"internalType\":\"int64\",\"name\":\"daoTg\",\"type\":\"int64\"},{\"internalType\":\"address\",\"name\":\"dao_\",\"type\":\"address\"},{\"internalType\":\"enumUnion.VotingType\",\"name\":\"votingType_\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"votingTokenContract_\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"dao_name_\",\"type\":\"string\"}],\"name\":\"ApplyForUnion\",\"outputs\":[],\"stateMutability\":\"payable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"daoAddress\",\"type\":\"address\"}],\"name\":\"ApproveJoin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"name\":\"Chat_id_array\",\"outputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"DEFAULT_ADMIN_ROLE\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"daoAddress\",\"type\":\"address\"}],\"name\":\"DeclineJoin\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"\",\"type\":\"int64\"}],\"name\":\"daoAddresses\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"name\":\"daos\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"chatOwnerAddress\",\"type\":\"address\"},{\"internalType\":\"int64\",\"name\":\"tgId\",\"type\":\"int64\"},{\"internalType\":\"bool\",\"name\":\"valid\",\"type\":\"bool\"},{\"internalType\":\"address\",\"name\":\"multisigAddress\",\"type\":\"address\"},{\"internalType\":\"enumUnion.VotingType\",\"name\":\"votingType\",\"type\":\"uint8\"},{\"internalType\":\"address\",\"name\":\"votingToken\",\"type\":\"address\"},{\"internalType\":\"string\",\"name\":\"group_name\",\"type\":\"string\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"int64\",\"name\":\"chat_id\",\"type\":\"int64\"}],\"name\":\"getDaoAddressbyChatId\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getDaoCount\",\"outputs\":[{\"internalType\":\"uint256\",\"name\":\"\",\"type\":\"uint256\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"getModeratorIdentifier\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"pure\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"}],\"name\":\"getRoleAdmin\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"grantRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"hasRole\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"moderator\",\"outputs\":[{\"internalType\":\"bytes32\",\"name\":\"\",\"type\":\"bytes32\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"owner\",\"outputs\":[{\"internalType\":\"address\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"renounceOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"renounceRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes32\",\"name\":\"role\",\"type\":\"bytes32\"},{\"internalType\":\"address\",\"name\":\"account\",\"type\":\"address\"}],\"name\":\"revokeRole\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"bytes4\",\"name\":\"interfaceId\",\"type\":\"bytes4\"}],\"name\":\"supportsInterface\",\"outputs\":[{\"internalType\":\"bool\",\"name\":\"\",\"type\":\"bool\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[],\"name\":\"tgpassport\",\"outputs\":[{\"internalType\":\"contractTGPassport\",\"name\":\"\",\"type\":\"address\"}],\"stateMutability\":\"view\",\"type\":\"function\"},{\"inputs\":[{\"internalType\":\"address\",\"name\":\"newOwner\",\"type\":\"address\"}],\"name\":\"transferOwnership\",\"outputs\":[],\"stateMutability\":\"nonpayable\",\"type\":\"function\"}]", } // UnionABI is the input ABI used to generate the binding from. @@ -210,6 +210,37 @@ func (_Union *UnionCallerSession) ChatIdArray(arg0 *big.Int) (int64, error) { return _Union.Contract.ChatIdArray(&_Union.CallOpts, arg0) } +// DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. +// +// Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) +func (_Union *UnionCaller) DEFAULTADMINROLE(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _Union.contract.Call(opts, &out, "DEFAULT_ADMIN_ROLE") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. +// +// Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) +func (_Union *UnionSession) DEFAULTADMINROLE() ([32]byte, error) { + return _Union.Contract.DEFAULTADMINROLE(&_Union.CallOpts) +} + +// DEFAULTADMINROLE is a free data retrieval call binding the contract method 0xa217fddf. +// +// Solidity: function DEFAULT_ADMIN_ROLE() view returns(bytes32) +func (_Union *UnionCallerSession) DEFAULTADMINROLE() ([32]byte, error) { + return _Union.Contract.DEFAULTADMINROLE(&_Union.CallOpts) +} + // DaoAddresses is a free data retrieval call binding the contract method 0xd6b2da8e. // // Solidity: function daoAddresses(int64 ) view returns(address) @@ -373,6 +404,130 @@ func (_Union *UnionCallerSession) GetDaoCount() (*big.Int, error) { return _Union.Contract.GetDaoCount(&_Union.CallOpts) } +// GetModeratorIdentifier is a free data retrieval call binding the contract method 0x5d1ce88f. +// +// Solidity: function getModeratorIdentifier() pure returns(bytes32) +func (_Union *UnionCaller) GetModeratorIdentifier(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _Union.contract.Call(opts, &out, "getModeratorIdentifier") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// GetModeratorIdentifier is a free data retrieval call binding the contract method 0x5d1ce88f. +// +// Solidity: function getModeratorIdentifier() pure returns(bytes32) +func (_Union *UnionSession) GetModeratorIdentifier() ([32]byte, error) { + return _Union.Contract.GetModeratorIdentifier(&_Union.CallOpts) +} + +// GetModeratorIdentifier is a free data retrieval call binding the contract method 0x5d1ce88f. +// +// Solidity: function getModeratorIdentifier() pure returns(bytes32) +func (_Union *UnionCallerSession) GetModeratorIdentifier() ([32]byte, error) { + return _Union.Contract.GetModeratorIdentifier(&_Union.CallOpts) +} + +// GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. +// +// Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) +func (_Union *UnionCaller) GetRoleAdmin(opts *bind.CallOpts, role [32]byte) ([32]byte, error) { + var out []interface{} + err := _Union.contract.Call(opts, &out, "getRoleAdmin", role) + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. +// +// Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) +func (_Union *UnionSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { + return _Union.Contract.GetRoleAdmin(&_Union.CallOpts, role) +} + +// GetRoleAdmin is a free data retrieval call binding the contract method 0x248a9ca3. +// +// Solidity: function getRoleAdmin(bytes32 role) view returns(bytes32) +func (_Union *UnionCallerSession) GetRoleAdmin(role [32]byte) ([32]byte, error) { + return _Union.Contract.GetRoleAdmin(&_Union.CallOpts, role) +} + +// HasRole is a free data retrieval call binding the contract method 0x91d14854. +// +// Solidity: function hasRole(bytes32 role, address account) view returns(bool) +func (_Union *UnionCaller) HasRole(opts *bind.CallOpts, role [32]byte, account common.Address) (bool, error) { + var out []interface{} + err := _Union.contract.Call(opts, &out, "hasRole", role, account) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// HasRole is a free data retrieval call binding the contract method 0x91d14854. +// +// Solidity: function hasRole(bytes32 role, address account) view returns(bool) +func (_Union *UnionSession) HasRole(role [32]byte, account common.Address) (bool, error) { + return _Union.Contract.HasRole(&_Union.CallOpts, role, account) +} + +// HasRole is a free data retrieval call binding the contract method 0x91d14854. +// +// Solidity: function hasRole(bytes32 role, address account) view returns(bool) +func (_Union *UnionCallerSession) HasRole(role [32]byte, account common.Address) (bool, error) { + return _Union.Contract.HasRole(&_Union.CallOpts, role, account) +} + +// Moderator is a free data retrieval call binding the contract method 0x38743904. +// +// Solidity: function moderator() view returns(bytes32) +func (_Union *UnionCaller) Moderator(opts *bind.CallOpts) ([32]byte, error) { + var out []interface{} + err := _Union.contract.Call(opts, &out, "moderator") + + if err != nil { + return *new([32]byte), err + } + + out0 := *abi.ConvertType(out[0], new([32]byte)).(*[32]byte) + + return out0, err + +} + +// Moderator is a free data retrieval call binding the contract method 0x38743904. +// +// Solidity: function moderator() view returns(bytes32) +func (_Union *UnionSession) Moderator() ([32]byte, error) { + return _Union.Contract.Moderator(&_Union.CallOpts) +} + +// Moderator is a free data retrieval call binding the contract method 0x38743904. +// +// Solidity: function moderator() view returns(bytes32) +func (_Union *UnionCallerSession) Moderator() ([32]byte, error) { + return _Union.Contract.Moderator(&_Union.CallOpts) +} + // Owner is a free data retrieval call binding the contract method 0x8da5cb5b. // // Solidity: function owner() view returns(address) @@ -404,6 +559,37 @@ func (_Union *UnionCallerSession) Owner() (common.Address, error) { return _Union.Contract.Owner(&_Union.CallOpts) } +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) +func (_Union *UnionCaller) SupportsInterface(opts *bind.CallOpts, interfaceId [4]byte) (bool, error) { + var out []interface{} + err := _Union.contract.Call(opts, &out, "supportsInterface", interfaceId) + + if err != nil { + return *new(bool), err + } + + out0 := *abi.ConvertType(out[0], new(bool)).(*bool) + + return out0, err + +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) +func (_Union *UnionSession) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _Union.Contract.SupportsInterface(&_Union.CallOpts, interfaceId) +} + +// SupportsInterface is a free data retrieval call binding the contract method 0x01ffc9a7. +// +// Solidity: function supportsInterface(bytes4 interfaceId) view returns(bool) +func (_Union *UnionCallerSession) SupportsInterface(interfaceId [4]byte) (bool, error) { + return _Union.Contract.SupportsInterface(&_Union.CallOpts, interfaceId) +} + // Tgpassport is a free data retrieval call binding the contract method 0x7527d5a1. // // Solidity: function tgpassport() view returns(address) @@ -498,6 +684,27 @@ func (_Union *UnionTransactorSession) DeclineJoin(daoAddress common.Address) (*t return _Union.Contract.DeclineJoin(&_Union.TransactOpts, daoAddress) } +// GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. +// +// Solidity: function grantRole(bytes32 role, address account) returns() +func (_Union *UnionTransactor) GrantRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _Union.contract.Transact(opts, "grantRole", role, account) +} + +// GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. +// +// Solidity: function grantRole(bytes32 role, address account) returns() +func (_Union *UnionSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Union.Contract.GrantRole(&_Union.TransactOpts, role, account) +} + +// GrantRole is a paid mutator transaction binding the contract method 0x2f2ff15d. +// +// Solidity: function grantRole(bytes32 role, address account) returns() +func (_Union *UnionTransactorSession) GrantRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Union.Contract.GrantRole(&_Union.TransactOpts, role, account) +} + // RenounceOwnership is a paid mutator transaction binding the contract method 0x715018a6. // // Solidity: function renounceOwnership() returns() @@ -519,6 +726,48 @@ func (_Union *UnionTransactorSession) RenounceOwnership() (*types.Transaction, e return _Union.Contract.RenounceOwnership(&_Union.TransactOpts) } +// RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. +// +// Solidity: function renounceRole(bytes32 role, address account) returns() +func (_Union *UnionTransactor) RenounceRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _Union.contract.Transact(opts, "renounceRole", role, account) +} + +// RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. +// +// Solidity: function renounceRole(bytes32 role, address account) returns() +func (_Union *UnionSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Union.Contract.RenounceRole(&_Union.TransactOpts, role, account) +} + +// RenounceRole is a paid mutator transaction binding the contract method 0x36568abe. +// +// Solidity: function renounceRole(bytes32 role, address account) returns() +func (_Union *UnionTransactorSession) RenounceRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Union.Contract.RenounceRole(&_Union.TransactOpts, role, account) +} + +// RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. +// +// Solidity: function revokeRole(bytes32 role, address account) returns() +func (_Union *UnionTransactor) RevokeRole(opts *bind.TransactOpts, role [32]byte, account common.Address) (*types.Transaction, error) { + return _Union.contract.Transact(opts, "revokeRole", role, account) +} + +// RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. +// +// Solidity: function revokeRole(bytes32 role, address account) returns() +func (_Union *UnionSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Union.Contract.RevokeRole(&_Union.TransactOpts, role, account) +} + +// RevokeRole is a paid mutator transaction binding the contract method 0xd547741f. +// +// Solidity: function revokeRole(bytes32 role, address account) returns() +func (_Union *UnionTransactorSession) RevokeRole(role [32]byte, account common.Address) (*types.Transaction, error) { + return _Union.Contract.RevokeRole(&_Union.TransactOpts, role, account) +} + // TransferOwnership is a paid mutator transaction binding the contract method 0xf2fde38b. // // Solidity: function transferOwnership(address newOwner) returns() @@ -1256,3 +1505,489 @@ func (_Union *UnionFilterer) ParseOwnershipTransferred(log types.Log) (*UnionOwn event.Raw = log return event, nil } + +// UnionRoleAdminChangedIterator is returned from FilterRoleAdminChanged and is used to iterate over the raw logs and unpacked data for RoleAdminChanged events raised by the Union contract. +type UnionRoleAdminChangedIterator struct { + Event *UnionRoleAdminChanged // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UnionRoleAdminChangedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UnionRoleAdminChanged) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UnionRoleAdminChanged) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UnionRoleAdminChangedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UnionRoleAdminChangedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UnionRoleAdminChanged represents a RoleAdminChanged event raised by the Union contract. +type UnionRoleAdminChanged struct { + Role [32]byte + PreviousAdminRole [32]byte + NewAdminRole [32]byte + Raw types.Log // Blockchain specific contextual infos +} + +// FilterRoleAdminChanged is a free log retrieval operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. +// +// Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) +func (_Union *UnionFilterer) FilterRoleAdminChanged(opts *bind.FilterOpts, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (*UnionRoleAdminChangedIterator, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var previousAdminRoleRule []interface{} + for _, previousAdminRoleItem := range previousAdminRole { + previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) + } + var newAdminRoleRule []interface{} + for _, newAdminRoleItem := range newAdminRole { + newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) + } + + logs, sub, err := _Union.contract.FilterLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) + if err != nil { + return nil, err + } + return &UnionRoleAdminChangedIterator{contract: _Union.contract, event: "RoleAdminChanged", logs: logs, sub: sub}, nil +} + +// WatchRoleAdminChanged is a free log subscription operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. +// +// Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) +func (_Union *UnionFilterer) WatchRoleAdminChanged(opts *bind.WatchOpts, sink chan<- *UnionRoleAdminChanged, role [][32]byte, previousAdminRole [][32]byte, newAdminRole [][32]byte) (event.Subscription, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var previousAdminRoleRule []interface{} + for _, previousAdminRoleItem := range previousAdminRole { + previousAdminRoleRule = append(previousAdminRoleRule, previousAdminRoleItem) + } + var newAdminRoleRule []interface{} + for _, newAdminRoleItem := range newAdminRole { + newAdminRoleRule = append(newAdminRoleRule, newAdminRoleItem) + } + + logs, sub, err := _Union.contract.WatchLogs(opts, "RoleAdminChanged", roleRule, previousAdminRoleRule, newAdminRoleRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UnionRoleAdminChanged) + if err := _Union.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseRoleAdminChanged is a log parse operation binding the contract event 0xbd79b86ffe0ab8e8776151514217cd7cacd52c909f66475c3af44e129f0b00ff. +// +// Solidity: event RoleAdminChanged(bytes32 indexed role, bytes32 indexed previousAdminRole, bytes32 indexed newAdminRole) +func (_Union *UnionFilterer) ParseRoleAdminChanged(log types.Log) (*UnionRoleAdminChanged, error) { + event := new(UnionRoleAdminChanged) + if err := _Union.contract.UnpackLog(event, "RoleAdminChanged", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UnionRoleGrantedIterator is returned from FilterRoleGranted and is used to iterate over the raw logs and unpacked data for RoleGranted events raised by the Union contract. +type UnionRoleGrantedIterator struct { + Event *UnionRoleGranted // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UnionRoleGrantedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UnionRoleGranted) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UnionRoleGranted) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UnionRoleGrantedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UnionRoleGrantedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UnionRoleGranted represents a RoleGranted event raised by the Union contract. +type UnionRoleGranted struct { + Role [32]byte + Account common.Address + Sender common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterRoleGranted is a free log retrieval operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. +// +// Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) +func (_Union *UnionFilterer) FilterRoleGranted(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*UnionRoleGrantedIterator, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _Union.contract.FilterLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) + if err != nil { + return nil, err + } + return &UnionRoleGrantedIterator{contract: _Union.contract, event: "RoleGranted", logs: logs, sub: sub}, nil +} + +// WatchRoleGranted is a free log subscription operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. +// +// Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) +func (_Union *UnionFilterer) WatchRoleGranted(opts *bind.WatchOpts, sink chan<- *UnionRoleGranted, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _Union.contract.WatchLogs(opts, "RoleGranted", roleRule, accountRule, senderRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UnionRoleGranted) + if err := _Union.contract.UnpackLog(event, "RoleGranted", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseRoleGranted is a log parse operation binding the contract event 0x2f8788117e7eff1d82e926ec794901d17c78024a50270940304540a733656f0d. +// +// Solidity: event RoleGranted(bytes32 indexed role, address indexed account, address indexed sender) +func (_Union *UnionFilterer) ParseRoleGranted(log types.Log) (*UnionRoleGranted, error) { + event := new(UnionRoleGranted) + if err := _Union.contract.UnpackLog(event, "RoleGranted", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} + +// UnionRoleRevokedIterator is returned from FilterRoleRevoked and is used to iterate over the raw logs and unpacked data for RoleRevoked events raised by the Union contract. +type UnionRoleRevokedIterator struct { + Event *UnionRoleRevoked // Event containing the contract specifics and raw log + + contract *bind.BoundContract // Generic contract to use for unpacking event data + event string // Event name to use for unpacking event data + + logs chan types.Log // Log channel receiving the found contract events + sub ethereum.Subscription // Subscription for errors, completion and termination + done bool // Whether the subscription completed delivering logs + fail error // Occurred error to stop iteration +} + +// Next advances the iterator to the subsequent event, returning whether there +// are any more events found. In case of a retrieval or parsing error, false is +// returned and Error() can be queried for the exact failure. +func (it *UnionRoleRevokedIterator) Next() bool { + // If the iterator failed, stop iterating + if it.fail != nil { + return false + } + // If the iterator completed, deliver directly whatever's available + if it.done { + select { + case log := <-it.logs: + it.Event = new(UnionRoleRevoked) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + default: + return false + } + } + // Iterator still in progress, wait for either a data or an error event + select { + case log := <-it.logs: + it.Event = new(UnionRoleRevoked) + if err := it.contract.UnpackLog(it.Event, it.event, log); err != nil { + it.fail = err + return false + } + it.Event.Raw = log + return true + + case err := <-it.sub.Err(): + it.done = true + it.fail = err + return it.Next() + } +} + +// Error returns any retrieval or parsing error occurred during filtering. +func (it *UnionRoleRevokedIterator) Error() error { + return it.fail +} + +// Close terminates the iteration process, releasing any pending underlying +// resources. +func (it *UnionRoleRevokedIterator) Close() error { + it.sub.Unsubscribe() + return nil +} + +// UnionRoleRevoked represents a RoleRevoked event raised by the Union contract. +type UnionRoleRevoked struct { + Role [32]byte + Account common.Address + Sender common.Address + Raw types.Log // Blockchain specific contextual infos +} + +// FilterRoleRevoked is a free log retrieval operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. +// +// Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) +func (_Union *UnionFilterer) FilterRoleRevoked(opts *bind.FilterOpts, role [][32]byte, account []common.Address, sender []common.Address) (*UnionRoleRevokedIterator, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _Union.contract.FilterLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) + if err != nil { + return nil, err + } + return &UnionRoleRevokedIterator{contract: _Union.contract, event: "RoleRevoked", logs: logs, sub: sub}, nil +} + +// WatchRoleRevoked is a free log subscription operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. +// +// Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) +func (_Union *UnionFilterer) WatchRoleRevoked(opts *bind.WatchOpts, sink chan<- *UnionRoleRevoked, role [][32]byte, account []common.Address, sender []common.Address) (event.Subscription, error) { + + var roleRule []interface{} + for _, roleItem := range role { + roleRule = append(roleRule, roleItem) + } + var accountRule []interface{} + for _, accountItem := range account { + accountRule = append(accountRule, accountItem) + } + var senderRule []interface{} + for _, senderItem := range sender { + senderRule = append(senderRule, senderItem) + } + + logs, sub, err := _Union.contract.WatchLogs(opts, "RoleRevoked", roleRule, accountRule, senderRule) + if err != nil { + return nil, err + } + return event.NewSubscription(func(quit <-chan struct{}) error { + defer sub.Unsubscribe() + for { + select { + case log := <-logs: + // New log arrived, parse the event and forward to the user + event := new(UnionRoleRevoked) + if err := _Union.contract.UnpackLog(event, "RoleRevoked", log); err != nil { + return err + } + event.Raw = log + + select { + case sink <- event: + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + case err := <-sub.Err(): + return err + case <-quit: + return nil + } + } + }), nil +} + +// ParseRoleRevoked is a log parse operation binding the contract event 0xf6391f5c32d9c69d2a47ea670b442974b53935d1edc7fd64eb21e047a839171b. +// +// Solidity: event RoleRevoked(bytes32 indexed role, address indexed account, address indexed sender) +func (_Union *UnionFilterer) ParseRoleRevoked(log types.Log) (*UnionRoleRevoked, error) { + event := new(UnionRoleRevoked) + if err := _Union.contract.UnpackLog(event, "RoleRevoked", log); err != nil { + return nil, err + } + event.Raw = log + return event, nil +} diff --git a/hardhat.config.js b/hardhat.config.js index d33bbd3..7ad6968 100644 --- a/hardhat.config.js +++ b/hardhat.config.js @@ -15,6 +15,8 @@ task("accounts", "Prints the list of accounts", async (taskArgs, hre) => { } }); + + // You need to export an object to set up your config // Go to https://hardhat.org/config/ to learn more diff --git a/scripts/deploy.js b/scripts/deploy.js index 95f102c..07dabd8 100644 --- a/scripts/deploy.js +++ b/scripts/deploy.js @@ -16,6 +16,16 @@ async function main() { // await hre.run('compile'); console.log(hre.network.name); + let murs_account = ethers.utils.getAddress("0x383A9e83E36796106EaC11E8c2Fbe8b92Ff46D3a"); + let account_owner = await hre.ethers.getSigner(); + const balance = await ethers.provider.getBalance(account_owner.address); + + console.log(ethers.utils.formatEther(balance), "ETH"); + + + let owner; + owner = await hre.ethers.getSigner(); + console.log("owner address:", owner.address); // We get the contract to deploy @@ -31,25 +41,46 @@ async function main() { await union.deployed(); console.log("Union deployed to:", union.address); - const ERC20Sample = await ethers.getContractFactory("ERC20Sample"); - let initialSupply = toWei(100); - const erc20sample = await ERC20Sample.deploy("Token", "TKN", initialSupply); - await erc20sample.deployed(); - console.log("Sample erc20 deployed to: ", erc20sample.address); + // Checking bytes32 moderator + const moderator_identifier = await union.connect(owner) + .getModeratorIdentifier(); + console.log("bytes32 moderator:", moderator_identifier); + + + + + + + // Checking roles set + //const flag1 = await union.connect(owner) + //.hasRole(moderator_identifier,owner.address); + //console.log("owner account have moderator role:", flag1); + const flag2 = await union.connect(owner) + .hasRole(moderator_identifier,murs_account); + console.log("Murs account have moderator role:", flag2); + + + + //const ERC20Sample = await ethers.getContractFactory("ERC20Sample"); + //let initialSupply = toWei(100); + //const erc20sample = await ERC20Sample.deploy("Token", "TKN", initialSupply); + //await erc20sample.deployed(); + //console.log("Sample erc20 deployed to: ", erc20sample.address); + + let erc20SampleDeployed = ethers.utils.getAddress("0xFbC45497848cc7438c528015271d73B9d8712385"); + console.log("Sample ERC20 deployed to: ", erc20SampleDeployed ) //const ERC20Votes = await ethers.getContractFactory("ERC20VotesSample"); //const erc20VotesSample = await ERC20Votes.deploy(initialSupply); //await erc20VotesSample.deployed(); //console.log("Sample Votes ERC20 deployed to:", erc20VotesSample.address); - const dao_test_address = ethers.utils.getAddress("0x9b393D071fa16458cb6CE3256F50eD1D2c776F7D"); + const dao_test_address = ethers.utils.getAddress("0x18f060e4E6A7ff6f432d45629085AeF5E6Cc5081"); console.log("test dao address:",dao_test_address); - const example_address = erc20sample.address; + //const example_address = erc20sample.address; + - let owner; - owner = await hre.ethers.getSigner(); - console.log("owner address:", owner.address); // retriving passport fee: const passportFee = await tgpassport.connect(owner) @@ -80,7 +111,7 @@ async function main() { // daos: const applyForUn = await union.connect(owner) - .ApplyForUnion(1234,12345,dao_test_address,0,example_address,"test_dao_username", { value : passportFee}); + .ApplyForUnion(1234,12345,dao_test_address,0,erc20SampleDeployed,"test_dao_username", { value : passportFee}); const receipt3 = await applyForUn.wait(); // console.log("receipt for applying dao:", receipt3); const getDaoAddress = await union.getDaoAddressbyChatId(12345); diff --git a/webapp/src/pages/dao.tsx b/webapp/src/pages/dao.tsx index f76d662..049be80 100644 --- a/webapp/src/pages/dao.tsx +++ b/webapp/src/pages/dao.tsx @@ -100,21 +100,21 @@ const Home: NextPage = () => { Attach CHAT from telegram to collective wallet Approve user intent for registration personal wallet address Decline user intent for registration personal wallet address diff --git a/webapp/src/pages/index.tsx b/webapp/src/pages/index.tsx index 887cf92..6961f9b 100644 --- a/webapp/src/pages/index.tsx +++ b/webapp/src/pages/index.tsx @@ -97,42 +97,42 @@ const Home: NextPage = () => { Read ClassToken Info Attach telegram id and username to your wallet Approve user intent for registration personal wallet address Decline user intent for registration personal wallet address Delete ALREADY APPROVED passport (only for test networks) Get eth wallet associated with telegram nickname: diff --git a/webapp/src/pages/register.tsx b/webapp/src/pages/register.tsx index 229aafb..7379e5d 100644 --- a/webapp/src/pages/register.tsx +++ b/webapp/src/pages/register.tsx @@ -93,7 +93,7 @@ const Home: NextPage = () => { Attach telegram id and username to your wallet